php - 如何使用 MySQL 计算 WordPress 中的元值以显示到两列?
问题描述
我正在运行 SQL 命令来计算一些 Wordpress 元值,但我得到了我想要的不同形式
select
sum(um.meta_value = '< 2000') '2000',
sum(um.meta_value = '2000-3499') '2000-3499',
sum(um.meta_value = '3500-4999') '3500-4999',
sum(um.meta_value = '5000-7499') '5000-7499',
sum(um.meta_value = '7500-9999') '7500-9999',
sum(um.meta_value = '10000 >') '10000>'
from wp_usermeta um
join wp_users u on u.id = um.user_id
where um.meta_key = 'income-range'
我得到的输出:
我需要它显示如下:
select
um.meta_value,
SUM(CASE WHEN (um.meta_value = '< 2000') THEN 1 END) AS '<2000',
SUM(CASE WHEN (um.meta_value = '2000-3499') THEN 1 END) AS '2000-3499',
SUM(CASE WHEN (um.meta_value = '3500-4999') THEN 1 END) AS '3500-4999',
SUM(CASE WHEN (um.meta_value = '5000-7499') THEN 1 END) AS '5000-7499',
SUM(CASE WHEN (um.meta_value = '7500-9999') THEN 1 END) AS '7500-9999',
SUM(CASE WHEN (um.meta_value = 'c') THEN 1 END) AS '7500-9999'
from wp_usermeta um
left join wp_users u on u.id = um.user_id
where um.meta_key = 'income-range'
GROUP BY um.meta_value
我也不喜欢这个输出,所以它必须是两列:
解决方案
我基本上对特定的元键进行了计数,并按元值分组。
SELECT meta_value, COUNT( * ) c FROM wp_usermeta um WHERE meta_key = 'income-range' GROUP BY meta_value
推荐阅读
- java - 如何将 Build>Project 绑定到 Javatar(Sublime Text 3)中的键?
- java - 如何为 TestNG java.util.concurrent.Ex 使用 threadLocal
- c++ - C ++编译时检查一个函数是否在另一个函数之前调用
- java - 条件 API 谓词:按一列分组,在另一列上找到最小行,然后返回第三个
- javascript - 对象数组比字典效率低吗?
- javascript - Chart js 饼图,深色表示较高的值,较浅的阴影表示较低的值。我每月显示值
- javascript - 带有 Node.js 的 Passport.js 身份验证中间件
- java - 试图在“狗”之后添加“和猫”,但“狗”中的“s”每次都被遗漏了
- c# - “文本”或“关键字”类型字段的 Elasticsearch 术语查询问题
- django - 在 Django Rest Framework 中使用 viewsets.ViewSet 的 LimitOffsetPagination