SQL-- group by详解

来源:互联网 发布:java url 解码出错 编辑:程序博客网 时间:2024/04/28 11:35

1.GROUP BY 语句用于结合合计函数,

根据一个或多个列对结果集进行分组。select 后面的字段只能是group by的字段或者出现在aggregate_function()中,否则出现mysql 每组只返回一条数据,oracle 会报错

SELECT column_name1, aggregate_function(column_name2)FROM table_nameWHERE column_name operator valueGROUP BY column_name1


2.HAVING 子句

在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。

SELECT customer,SUM(price) FROM OrdersGROUP BY customerHAVING SUM(price)<2000

3.与where子句结合

where放在在GROUP BY 之前。也就是说,group by 对where的到的结果进行分组,分组后不可以用where 而用 HAVING子句在聚合后对组记录进行筛选。

0 0