日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

详解在group by分组查询中where 和 having的用法和区别。

發(fā)布時(shí)間:2025/3/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 详解在group by分组查询中where 和 having的用法和区别。 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
我地都知道sql 中 where 和 having 都是用來篩選條件的關(guān)鍵字。

而且having 一般和group by 一齊使用,?? 但是where 也可以用group by 一齊使用的。

下面用個(gè)簡(jiǎn)單例子講解下:
有一張分?jǐn)?shù)表Grade_1, ? 3個(gè)column 分別是 dep, name 和 grade,? 如下圖,好明顯可以用部門dep來分組. 表中總共9條數(shù)據(jù)


下面語句是用來列出所有部門的總分。 并沒有用到where 和 having 字句。

select dep as Dep,sum(grade) as Sum_grade
from Grade_1
group by dep



可以見到3個(gè)組的總分都列出來了。 呢個(gè)唔難理解。


where 子句:
下面用1個(gè)where字句, 意思是列出所有部門分?jǐn)?shù)大于或等于60分的人的總分

select dep as Dep,sum(grade) as Sum_grade
from Grade_1
where grade >= 60
group by dep



可以見到, 部門1 和 部門2的總分 都比上面的總分?jǐn)?shù)減少了
是因?yàn)?where字句的作用,? 語句在分組前 把第1組的? Allen(40分)
和 第二組的piero (45分) 排除掉了。
第一組和第二組實(shí)際上都是其余兩個(gè)人的總分,

所以可總結(jié)出:
1. where字句用在group by之前。
2. where 作用于單個(gè)記錄(行)
3. where 作用生效后(篩選后), group by分組才生效, 也就是where字句作用于 group by 之前。


Having 子句:
下面用1個(gè)Having字句, 意思是列出最低分?jǐn)?shù)大于40的部門的總分

select dep as Dep,sum(grade)? as Sum_grade
from Grade_1

group by dep
having min(grade) > 40



可以見到 結(jié)果把整個(gè)第一組排除出去了, 是因?yàn)?br />第一組有個(gè)人Allen的分?jǐn)?shù)不大于40? 也就是說? 第一組的最低分是40, 不符合條件。

所以可總結(jié)出:
1. having 字句用在group by之后。
2. having 字句 作用于單個(gè)組(1行或多行)
3. group by 分組后,? 才用having 子句來分組, 所以having字句作用在分組之后。



where 和 having 子句一齊使用:
下面語句就是上面兩個(gè)條件一齊使用,

select dep as Dep,sum(grade)? as Sum_grade
from Grade_1
where grade >= 60
group by dep
having min(grade) > 40



可以見到第一組又出來了,? 之前不是說第一組的最低分是40嗎?

答案都好簡(jiǎn)單,因?yàn)榉纸M前 where字句先起作用, 把分?jǐn)?shù)小于60的數(shù)據(jù)都排除出去了,
分組后
當(dāng)having子句起作用時(shí),? 第一分組已經(jīng)不包含小于60的數(shù)據(jù)(Allen), 所以第一分組這是的最低分是60(Jason),符合條件拉!

總結(jié)

以上是生活随笔為你收集整理的详解在group by分组查询中where 和 having的用法和区别。的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。