Discuss / SQL / 练习:查询每个班 男生女生分别有多少人

练习:查询每个班 男生女生分别有多少人

Topic source
SELECT
 c.name '班级',
 s.gender '性别',
 COUNT(s.gender) '人数'
FROM students s, classes c
WHERE c.id = s.class_id
GROUP BY s.class_id, s.gender;

![](https://raw.githubusercontent.com/tangg9646/my_github_image_bed/master/20200325171902.png)

| 一班 | M    | 2    |

| ---- | ---- | ---- |

| 一班 | F    | 2    |

| 二班 | F    | 1    |

| 二班 | M    | 2    |

| 三班 | F    | 2    |

| 三班 | M    | 1    |

SELECT

classes.name,

students.gender sex,

COUNT(s.gender)  num

FROM

students s, classes c

WHERE

s.class_id = c.id GROUP BY s.gender;

# 上面错了,这个才对

SELECT 

classes.name,

students.gender sex,

COUNT(s.gender)  num 

FROM 

students s, classes c 

WHERE 

s.class_id = c.id 

GROUP BY c.name,s.gender;

LiuChenO

#4 Created at ... [Delete] [Delete and Lock User]

select s.class_id, s.gender, c.id cid, COUNT(s.gender) num

from students s

left join classes c

on s.class_id = cid

group by s.class_id, s.gender


  • 1

Reply