SQL入门教程(七):数据的分组与排序(Group by 、Order by、Having子句的使用)
如何理解数据分组和排序
分组其实就是对查询到的数据按照字段重复值分成若各个小组,排序就是对这些小组按照一定规则排序。
SQL语句书写和执行顺序
它们的书写顺序是:
SELECT➡FROM➡WHERE➡GROUP BY➡HAVING➡ORDER BY
其中 SELECT 和 FROM 是必须有的,其他子句就是可选择的。
执行顺序是这样的:
FROM➡WHERE➡GROUP BY➡HAVING➡SELECT➡ORDER BY
1.FROM:从哪个数据表中查询数据。
2.WHERE:筛选过滤表中符合条件的数据。
3.GROUP BY:对上面筛选过的数据分组,字段作为分组依据 。
4.HAVING:对上面分组的数据进行筛选过滤 。
5.SELECT:返回取出结果集里哪部分数据。
6.ORDER BY:按照什么顺序对返回的数据进行排序。
GROUP BY 子句
-
简单来说,GROUP BY 子句就是把相同数据划分成组。
-
一定要注意,在SELECT子句指定的字段,必须包含在GROUP BY语句的后面,作为分组的依据,汇总函数除外,出现次序不一定要相同。
-
除非使用聚合函数,否则使用GROUP BY子句排序没有什么意义。
-- 基本语法
SELECT COLUMN1,COLUMN2
FROM TABLE_NAME
WHERE CONDITIONS
GROUP BY COLUMN1,COLUMN2