1
我有以下SQL语句来计算基于3个Wordpress表的几个字段。我需要的是仅包含meta_key ='odd'和meta_value> ='1.5'的结果。我在WHERE语句中尝试过,但它不起作用,因为这个查询中的大多数结果都显示为Null。基于特定的meta_key和meta_value过滤postmeta
任何帮助非常感谢!
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' AND pm.meta_key='odd' AND pm.met.value >='1.5'
GROUP BY (display_name)
ORDER BY Balance DESC
感谢您的回复。仍然不起作用,现在它显示每个meta_value的结果,即使它小于1.5,也不会过滤结果。你有什么想法,为什么?谢谢 – qebas
@qebus。 。 。 meta_value如何存储?它是一个字符串还是数字? –
这是一个字符串 – qebas