Wordpress 数据库结构如下所示:
- wp_users(ID、user_registered 等)
- wp_usermeta(user_id、meta_key、meta_value 等)
wp_users.ID
对应于wp_usermeta.user_id
。
我想选择按 DATE(wp_users.user_registered) 以及元键 'sex'
对应的元值(为 1 或 2)分组的所有用户的计数。然后结果应由两列和与唯一日期一样多的行组成。第一列应该是具有元值 1 的用户数量,第二列应该是具有元值 2 的用户数量。
我对 WP 特定的构造不感兴趣,我想通过一个 SQL 查询来完成此操作。
如果我的尝试足够好,我会发布它,不幸的是我没有那么好的尝试。真的很感激任何帮助。
最佳答案
尝试一下:
select sum(um.meta_value = '1') Sex1, sum(um.meta_value = '2') Sex2
from wp_usermeta um
join wp_users u on u.id = um.user_id
where um.meta_key = 'sex'
group by date(u.user_registered)
你说:
The result then should consist of two columns and as many rows as there are unique dates.
这样做的问题是您不知道每行所指的日期。您可以将 date(u.user_registered)
添加到 select
语句中来查看。
关于mysql - 获取Wordpress DB中具有特定usermeta值的用户数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10155207/