MySQL分组[重复]
Posted
技术标签:
【中文标题】MySQL分组[重复]【英文标题】:MySQL Grouping by [duplicate] 【发布时间】:2018-05-25 20:28:18 【问题描述】:我在 mysql 中有一张表:
tblUser
- name varchar(200)
- sex varchar(200)
- signDate` datetime
我正在寻找以下结果:
monthDate M F
01 0 1
06 0 2
07 0 2
08 0 2
09 0 2
10 1 0
11 1 0
12 0 2
但我得到以下信息,我的问题是我无法弄清楚如何将 Sex M 和 F 的结果在一行中显示为我正在寻找的先前结果。
我的结果:
monthDate sex count(1)
1 F 1
6 F 2
7 F 2
8 F 2
9 F 2
10 M 1
11 M 1
12 F 2
我的查询:
SELECT monthDate
,sex
,count(1)
FROM
(
SELECT name
,sex
,MONTH(signDate) monthDate
FROM dbPaciente.tblUser
GROUP BY monthDate
,sex
ORDER BY monthDate asc
,sex
) tableResult
GROUP BY monthDate;
请告诉我如何解决它,好吗? 提前致谢,
【问题讨论】:
***.com/questions/7674786/mysql-pivot-table 【参考方案1】:SELECT monthDate
,count(case when sex='f' then sex else null end)F
,count(case when sex='m' then sex else null end)M
FROM
(
SELECT name
,sex
,MONTH(signDate) monthDate
FROM dbPaciente.tblUser
GROUP BY monthDate
,sex
ORDER BY monthDate asc
,sex
) tableResult
GROUP BY monthDate
【讨论】:
使用条件聚合 亲爱的丹尼尔,太棒了!非常感谢,只是我在内部查询中输入了错误的“GROUP BY monthDate ,sex”,它必须不存在,现在完美了,再次感谢:) 随时欢迎您以上是关于MySQL分组[重复]的主要内容,如果未能解决你的问题,请参考以下文章