SQL 查询:按系别分组,显示每个分组年龄最小和最大的学生信息
SQL 查询:按系别分组,显示每个分组年龄最小和最大的学生信息
本教程演示如何使用 SQL 查询语句,按系别分组 'student' 表,并显示每个分组中年龄最小和最大的学生基本信息,包括姓名和性别。
SQL 代码:
SELECT
s.department,
MIN(s.age) AS min_age,
MAX(s.age) AS max_age,
s.name,
s.gender
FROM
student s
GROUP BY
s.department
ORDER BY
s.department;
解释:
SELECT语句:- 从 'student' 表中选择需要的列:
s.department(系别)、MIN(s.age)(最小年龄)、MAX(s.age)(最大年龄)、s.name(姓名) 和s.gender(性别)。
- 从 'student' 表中选择需要的列:
GROUP BY语句:- 将数据按照 'department' (系别) 进行分组。
MIN()和MAX()函数:MIN(s.age)计算每个分组中的最小年龄。MAX(s.age)计算每个分组中的最大年龄。
ORDER BY语句:- 按照 'department' (系别) 进行排序,显示结果。
示例:
假设 'student' 表包含以下数据:
| department | name | age | gender | |---|---|---|---| | CS | John | 20 | Male | | CS | Jane | 22 | Female | | Math | David | 21 | Male | | Math | Sarah | 23 | Female | | Physics | Michael | 20 | Male | | Physics | Emily | 24 | Female |
执行以上 SQL 查询语句后,将得到以下结果:
| department | min_age | max_age | name | gender | |---|---|---|---|---| | CS | 20 | 22 | John | Male | | Math | 21 | 23 | David | Male | | Physics | 20 | 24 | Michael | Male |
注意:
s是为 'student' 表起的别名,用于简化代码。- 使用
MIN()和MAX()函数时,只能选择分组列和聚合函数作为选择列。 - 在
GROUP BY语句中,需要将所有未在聚合函数中使用的列进行分组。
总结:
通过本教程,您学会了如何使用 SQL 查询语句,按系别分组 'student' 表,并显示每个分组中年龄最小和最大的学生基本信息。
原文地址: https://www.cveoy.top/t/topic/kGbk 著作权归作者所有。请勿转载和采集!