获取Wordpress DB中具有特定usermeta值的用户数

时间:2012-04-14 16:23:10

标签: mysql sql wordpress

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查询来做这件事。

如果它足够好我会发布我的尝试,不幸的是我没有那么好。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

尝试一下:

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)

你说:

  

结果应该包含两列和多少行,因为它们有唯一的日期。

这个问题是你不知道每行指的是什么日期。您可以将date(u.user_registered)添加到select语句中以查看该内容。