wp_postmeta、wp_post、および wp_user テーブルに基づいていくつかのフィールドを計算する次の SQL ステートメントがあります。必要なのは、すべての投稿に meta_key='key1' および meta_value >= '1.5' が含まれる結果のみを含めることです。以下のステートメントで試しましたが、フィルタリングされておらず、すべてのレコードを表示しています。
どんな助けでも大歓迎です!
SELECT (display_name) AS 'user',
SUM(Case When meta_key = 'status' Then meta_value = 'won' else Null End) AS 'Won',
SUM(Case When meta_key = 'status' Then meta_value = 'lost' else Null End) AS 'Lost',
COUNT(Case When meta_key = 'odd' Then meta_value else Null End) AS 'Total',
ROUND (AVG(Case When meta_key = 'odd' Then meta_value else Null End), 2) AS 'Avg odd',
ROUND (AVG(Case When meta_key = 'bet' Then meta_value else Null End), 2) AS 'Avg bet',
ROUND (SUM(Case When meta_key = 'balance' Then meta_value else Null End), 2) AS 'Balance'
FROM wp_postmeta pm
INNER JOIN wp_posts p ON pm.post_id = p.ID
INNER JOIN wp_users u ON p.post_author = u.ID
WHERE Month(post_date) = MONTH(CURRENT_DATE) AND p.post_status='publish'
GROUP BY (display_name)
HAVING SUM(CASE WHEN pm.meta_key='key1' AND pm.meta_value >='1.5' THEN 1 ELSE 0 END) > 0
ORDER BY Balance DESC