在 MySQL 中,我们可以使用 GROUP BY
子句来对查询结果进行分组。GROUP BY
语句通常与聚合函数一起使用,如 COUNT()
、 SUM()
、 AVG()
等等,以便我们可以为整个分组应用聚合函数。
下面我们以一个示例来说明如何在 MySQL 中创建分组。
比如我们有一个 score
表,存储学生的成绩信息,包括学生姓名和成绩,我们想要将分数相同的学生分在一组,并计算每个分组的学生人数。可以使用如下的 SQL 语句:
SELECT score, COUNT(*) AS num
FROM score
GROUP BY score;
以上 SQL 查询语句将会按照 score
字段的值进行分组,并使用 COUNT(*)
函数计算每个分数组的学生人数。
注意,在 SELECT
子句中的列必须出现在 GROUP BY
子句中,因为 GROUP BY
确定了唯一的分组条件。如果在 SELECT
子句中使用的列与分组条件不一致,则会导致错误的结果。
另外,分组过程会对表进行聚合操作,会产生临时表,所以效率上比较慢,需要注意。