https://segmentfault.com/q/1010000002703170

表User有字段:name,sex,classId,比如有如下记录: a, 男, 1 b, 男, 1 c, 女, 1 d, 女, 1 e, 男, 2 f, 男, 2

要求查出如下这样的记录(每个班男、女各有几人): classId 男 女 1 2 2 2 1 1

请问要怎样写? 如果只是查出每个班的男生人数就会: SELECT class, COUNT(*) AS '男' FROM t_uu WHERE sex='男' GROUP BY class;

命令:

SELECT class_id, SUM(sex = '男') AS male, SUM(sex = '女') AS female FROM student
GROUP BY class_id

结果:

image.png

select * from student;

image.png