数据库单表查询各个系部的男女生人数,列名显示为:系部、性别、人数,按系部升序性别降序显示结果
时间: 2024-10-24 15:13:16 浏览: 28
C#对联合查询后的数据进行升序、降序排列
假设我们有一个名为`students`的数据库表,它包含了学生的个人信息,包括`dept_id`(系部ID)、`gender`(性别)等字段。为了获取各个系部的男女生人数,你可以编写如下的SQL查询:
```sql
SELECT dept_id AS 系部, gender AS 性别, COUNT(*) AS 人数
FROM students
GROUP BY dept_id, gender
ORDER BY dept_id ASC, gender DESC;
```
这个查询做了以下几件事:
1. `SELECT dept_id AS 系部, gender AS 性别, COUNT(*) AS 人数`: 选择需要的列,将`dept_id`重命名为`系部`, `gender`重命名为`性别`, 并计算每组的行数作为`人数`。
2. `GROUP BY dept_id, gender`: 按照系部ID和性别对数据进行分组,以便分别统计每个组合的人数。
3. `ORDER BY dept_id ASC, gender DESC`: 结果按照系部ID升序排列,然后在系部内再按照性别降序排列。
阅读全文