目录
分组基本语法
SQL 分组查询的基本语法如下所示:
1.SELECT
语句:用于选择要显示的列,可以是分组列、聚合函数或其他列。
2.FROM
子句:放入指定的表名。
3.GROUP BY
子句:指定一个或多个列,用于分组数据。查询的结果将按照这些列的值进行分组
3.聚合函数:对于每个分组,可以应用一个或多个聚合函数(如 SUM求和
、AVG平均值
、COUNT总数
、MAX最大
、MIN最小
等)来计算汇总值。
5.HAVING
子句:用于筛选分组后的结果,根据情况选择使不使用
分组查询的语法
在这个查询中,我们选择了 number列作为分组的依据,并使用 COUNT
函数计算每个班级的学生数量,使用 AVG 函数计算每个班级的平均年龄。结果如下:
这个结果告诉我们,每个班级只有一个学生,后面的是平均年龄,仅供参考
查找年龄超过21岁的学生班级
要筛选出年龄超过21岁的学生班级,我们可以使用 HAVING
子句进行分组后的筛选。以下是查询的SQL语句流程:
这个查询首先是按照学生的班级,然后使用 AVG函数计算每个班级的平均年龄。最后,我们使用 HAVING
子句筛选出平均年龄大于21的班级。结果如下:
多重分组
除了单行单列的分组,我们还可以进行多重分组,即按照多个列的值进行分组。这样可以更细微的处理好数据:
以下是一个多重分组的示例查询;根据班级名称和姓名分组
因为表的数据不是很好,所以处理上,有些问题,大家可以发表意见