Group by
用途:
对结果集进行分组,常与汇总函数一起使用。
语法:
SELECT column,SUM(column) FROM table GROUP BY column
例:
“Sales” 表中的原始数据 :
Company Amount
W3Schools 5500
IBM 4500
W3Schools 7100
按照 Company 字段进行分组,求出每个 Company 的 Amout 的合计:
SELECT Company,SUM(Amount) FROM Sales GROUP BY Company
返回结果 :
Company SUM(Amount)
W3Schools 12600
IBM 4500
Having
用途:
指定群组或汇总的搜寻条件。
语法:
SELECT column,SUM(column) FROM table GROUP BY column HAVING SUM(column) condition value
解释:
HAVING 通常与 GROUP BY 子句同时使用。不使用 GROUP BY 时, HAVING 则与 WHERE 子句功能相似。
例:
“Sales” 表中的原始数据 :
Company Amount
W3Schools 5500
IBM 4500
W3Schools 7100
按照 Company 字段进行分组,求出每个 Company 的 Amout 的合计在 10000 以上的数据:
SELECT Company,SUM(Amount) FROM Sales GROUP BY Company HAVING SUM(Amount)>10000
返回结果 :
Company SUM(Amount)
W3Schools 12600
举一个优快云论坛上的例子:
例如表 A
Name Grade
小明 2
小王 1
小利 3
旺才 2
小强 3
你如果想按年级统计人数就可以:
SELECT Grade, COUNT(*) AS 人数 FROM A GROUP BY Grade
Grade 人数
----------- -----------
1 1
2 2
3 2
查出重复BuildName
select BuildName from buildinginfo group by buildname having count(buildname)>1
用途:
对结果集进行分组,常与汇总函数一起使用。
语法:
SELECT column,SUM(column) FROM table GROUP BY column
例:
“Sales” 表中的原始数据 :
Company Amount
W3Schools 5500
IBM 4500
W3Schools 7100
按照 Company 字段进行分组,求出每个 Company 的 Amout 的合计:
SELECT Company,SUM(Amount) FROM Sales GROUP BY Company
返回结果 :
Company SUM(Amount)
W3Schools 12600
IBM 4500
Having
用途:
指定群组或汇总的搜寻条件。
语法:
SELECT column,SUM(column) FROM table GROUP BY column HAVING SUM(column) condition value
解释:
HAVING 通常与 GROUP BY 子句同时使用。不使用 GROUP BY 时, HAVING 则与 WHERE 子句功能相似。
例:
“Sales” 表中的原始数据 :
Company Amount
W3Schools 5500
IBM 4500
W3Schools 7100
按照 Company 字段进行分组,求出每个 Company 的 Amout 的合计在 10000 以上的数据:
SELECT Company,SUM(Amount) FROM Sales GROUP BY Company HAVING SUM(Amount)>10000
返回结果 :
Company SUM(Amount)
W3Schools 12600
举一个优快云论坛上的例子:
例如表 A
Name Grade
小明 2
小王 1
小利 3
旺才 2
小强 3
你如果想按年级统计人数就可以:
SELECT Grade, COUNT(*) AS 人数 FROM A GROUP BY Grade
Grade 人数
----------- -----------
1 1
2 2
3 2
查出重复BuildName
select BuildName from buildinginfo group by buildname having count(buildname)>1