先來看一個例子,理解一下group by 的用法 和 功能
例如這張表
然后執行
select Email, count(Email) as num
from Person
group by Email;
效果如下
如果接下來 你還不能理解
執行sql
SELECT name FROM test GROUP BY name
SQL中having?構建一個虛擬表
group by 多個字段該怎么理解呢:如group by name,number,我們可以把name和number 看成一個整體字段,以他們整體來進行分組
如執行
select name,sum(id) from test group by name,number
效果如圖
注意 :
- group by 子句中的分組依據列必須是表中存在的列名 ,不能使用 as 子句指派的列別名。
- 帶有 group by 子句的select 語句的查詢列表中只能出現分組依據列,因為,因為分組后的每個組只返回一行數據。
- having 子句 用于對分組后的結果再進行篩選 ,它的功能有點兒像where 子句,但是它是專門用于組 而不是記錄。
- 在having 子句中可以使用統計函數,而在where 子句中不能。
- having 子句通常跟group by 子句一起使用
附力扣原題,以助理解
select Email
from Person
group by Email
having count(Email) > 1;
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态