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;

解释:

  1. SELECT 语句:
    • 从 'student' 表中选择需要的列:s.department (系别)、MIN(s.age) (最小年龄)、MAX(s.age) (最大年龄)、s.name (姓名) 和 s.gender (性别)。
  2. GROUP BY 语句:
    • 将数据按照 'department' (系别) 进行分组。
  3. MIN() 和 MAX() 函数:
    • MIN(s.age) 计算每个分组中的最小年龄。
    • MAX(s.age) 计算每个分组中的最大年龄。
  4. 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' 表,并显示每个分组中年龄最小和最大的学生基本信息。

SQL 查询:按系别分组,显示每个分组年龄最小和最大的学生信息

原文地址: https://www.cveoy.top/t/topic/kGbk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录