mysql - sql按2个字段计数分组?
问题描述
name status
a win
a run
a run
b run
b win
b win
c run
c run
c run
d run
d run
e NA
e run
e win
f NA
f NA
f NA
在mysql中
在这里,我需要计算运行的次数,对于 win 和 NA 也不相同
谁能帮我吗?
预期输出
WIN 3
RUN 2
NA 1
尝试查询
SELECT a
FROM data
GROUP BY a
HAVING ( COUNT(*) > 1 )
解决方案
尝试使用条件聚合:
SELECT
name,
COUNT(CASE WHEN status = 'win' THEN 1 END) AS WIN,
COUNT(CASE WHEN status = 'run' THEN 1 END) AS run,
COUNT(CASE WHEN status = 'NA' THEN 1 END) AS NA
FROM yourTable
GROUP BY
name;
推荐阅读
- javascript - 使用 JavaScript,如何在子对象中使用多个条件过滤对象数组
- python - ValueError:无法设置张量:尺寸不匹配。得到 3 但预期 4 用于输入 0
- python - 如何在 QTableWidget 上选择行并将值返回给 QLineEdit
- python - 在 for 循环中生成子进程
- c# - ASP.NET MVC DropDownList 重定向到 Eidt 视图
- python - Discord.py 发送消息
- javascript - 将一个对象数组中的项目作为数组包含在第二个对象数组的每个对象中(按键)
- javascript - 使用 Nonce 从脚本中读取 Javascript 变量
- android - Android:从应用程序以编程方式打开开发人员选项时遇到“静默”崩溃
- r - 为什么我在 R 中收到 QQLine 绘图错误