【发布时间】:2021-01-29 11:36:47
【问题描述】:
我有一个名为 country(字符串)的用户元字段和另一个名为 is_blocked(二进制)的用户元字段。我需要的是返回选择用户注册日期的每个国家/地区的未阻止用户数。
通过这个查询,我设法在不考虑 is_blocked 字段的情况下获取值:
SELECT meta_value AS 'country', COUNT(meta_value) AS 'total'
FROM wp_usermeta INNER JOIN
wp_users
ON wp_usermeta.user_id = wp_users.ID
WHERE meta_key = 'user_country' AND
meta_value <> '' AND
DATE_FORMAT(wp_users.user_registered, '%Y-%m') = '2021-01'
GROUP BY meta_value
ORDER BY total DESC
但我不能只选择非阻塞用户。我的尝试:
SELECT meta_value AS 'country', COUNT(meta_value) AS 'total'
FROM wp_usermeta INNER JOIN
wp_users
ON wp_usermeta.user_id = wp_users.ID
WHERE meta_key = 'user_country' AND
meta_value <> '' AND
DATE_FORMAT(wp_users.user_registered, '%Y-%m') = '2021-01' AND
(wp_usermeta.meta_key = 'user_blocked' AND
CAST(wp_usermeta.meta_value AS BINARY) != '1'
)
GROUP BY meta_value
ORDER BY total DESC
【问题讨论】:
-
请提供样本数据和期望的结果。定义“被阻止的用户”。