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

标签 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 查询来完成此操作。

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

最佳答案

尝试一下:

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/

相关文章:

css - 尽管链接正确,但显示的图像错误

html - 如何使用CSS修复响应式下拉菜单?

c# - 无需安装的 C++ 数据库访问

mysql - LEFT JOIN 查询返回多个结果

php - MySQL查询结果偏移有限制并有新结果的可能性吗?

mysql - 我需要自动增加 MySQL 中不是主键的字段

java - Hibernate Insert 正在尝试更新标识列

mysql - 'num_of_cmt' 是 4 而不是 2。为什么?

php - mySQL 和 PHP 的最佳性能 : Lots of small queries, 还是一个大的?

Mysql 使用 CHAR 或 BLOB 存储已知字节大小限制的 UTF-8 字符串