1.GROUP BY 语句用于结合合计函数,
根据一个或多个列对结果集进行分组。select 后面的字段只能是group by的字段或者出现在aggregate_function()中,否则出现mysql 每组只返回一条数据,oracle 会报错
SELECT column_name1, aggregate_function(column_name2)
FROM table_name
WHERE column_name operator value
GROUP BY column_name1
2.HAVING 子句
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
SELECT customer,SUM(price) FROM Orders
GROUP BY customer
HAVING SUM(price)<2000
3.与where子句结合
where放在在GROUP BY 之前。也就是说,group by 对where的到的结果进行分组,分组后不可以用where 而用 HAVING子句在聚合后对组记录进行筛选。