SQL指南-GROUP BY 和 HAVING

来源:互联网 发布:linux下eclipse快捷键 编辑:程序博客网 时间:2024/05/16 19:54
聚会函数 (如 SUM) 常需要附加GROUP BY

-----------------------------------------------

GROUP BY...

GROUP BY... 被附加于SQL 是因为聚会函数 (如 SUM) 每次都返回所有列值的合计,没有GROUP BY函数是不可能找到列值的单个分组的合计数。

语法

SELECT column,SUM(column) FROM table GROUP BY column

-----------------------------------------------

GROUP BY 示例

这个 "Sales" 表:

Company Amount W3Schools 5500 IBM 4500 W3Schools 7100

和这个SQL语句:

SELECT Company, SUM(Amount) FROM Sales

返回这个结果:

Company SUM(Amount) W3Schools 17100 IBM 17100 W3Schools 17100

上面的代码是不正确的,因为被返回的列不是部分合计。GROUP BY 子句将解决这个问题。

SELECT Company,SUM(Amount) FROM Sales            GROUP BY Company

返回结果:

Company SUM(Amount) W3Schools 12600 IBM 4500
-----------------------------------------------

HAVING...

HAVING... 被附加到SQL语句是因为WHER关键字不能被用于聚会函数 (如 SUM),并且没有HAVING...它将不可能测试结果条件。

语法:

SELECT column,SUM(column) FROM table            GROUP BY column            HAVING SUM(column) condition value

这个 "Sales" 表:

Company Amount W3Schools 5500 IBM 4500 W3Schools 7100

和这个SQL语句:

SELECT Company,SUM(Amount) FROM Sales            GROUP BY Company            HAVING SUM(Amount)>10000

返回这个结果

Company SUM(Amount) W3Schools 12600
 
原创粉丝点击