LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

[點晴永久免費OA]having的用法以及與where區別介紹

Ccoffee
2018年8月31日 8:35 本文熱度 4409
 having子句可以讓我們篩選成組后的各種數據,having子句在查詢過程中慢于聚合語句,接下來通過實例介紹下,感興趣的你可以參考下,希望可以幫助到你

having的用法 
having子句可以讓我們篩選成組后的各種數據,having子句在查詢過程中慢于聚合語句(sum,min,max,avg,count).而where子句在查詢過程中則快于聚合語句(sum,min,max,avg,count)。 
SQL實例: 

一、顯示每個地區的總人口數和總面積

復制代碼 代碼如下:

SELECT region, SUM(population), SUM(area) FROM bbc GROUP BY region


先以region把返回記錄分成多個組,這就是GROUP BY的字面含義。分完組后,然后用聚合函數對每組中 
的不同字段(一或多條記錄)作運算。 

二、 顯示每個地區的總人口數和總面積.僅顯示那些面積超過1000000的地區

復制代碼 代碼如下:

SELECT region, SUM(population), SUM(area) 
FROM bbc 
GROUP BY region 
HAVING SUM(area)>1000000


在這里,我們不能用where來篩選超過1000000的地區,因為表中不存在這樣一條記錄。 

mysql中的where和having子句的區別 
mysql中的where和having子句都可以實現過濾記錄的功能,但他們的用法還是有一些區別的,看一例子: 
用group by和having子句聯合來查出不重復的記錄,sql如下: 
select uid,email,count(*) as ct from `edm_user081217` GROUP BY email 
然后看這個,就容易理解了 
select uid,email,count(*) as ct from `edm_user081217` GROUP BY email HAVING ct > 1 
先用group by 對email進行分組,在用having來過濾大于1的,這樣查找出來的就是重復的記錄了. 

以下是having和where的區別: 
Select city FROM weather WHERE temp_lo = (SELECT max(temp_lo) FROM weather); 
作用的對象不同。WHERE 子句作用于表和視圖,HAVING 子句作用于組。 
WHERE 在分組和聚集計算之前選取輸入行(因此,它控制哪些行進入聚集計算), 而 HAVING 在分組和聚集之后選取分組的行。因此,WHERE 子句不能包含聚集函數; 因為試圖用聚集函數判斷那些行輸入給聚集運算是沒有意義的。相反,HAVING 子句總是包含聚集函數。(嚴格說來,你可以寫不使用聚集的 HAVING 子句,但這樣做只是白費勁。同樣的條件可以更有效地用于 WHERE 階段。) 
在前面的例子里,我們可以在 WHERE 里應用城市名稱限制,因為它不需要聚集。 這樣比在 HAVING 里增加限制更加高效,因為我們避免了為那些未通過 WHERE 檢查的行進行分組和聚集計算

綜上所述: 
having一般跟在group by之后,執行記錄組選擇的一部分來工作的。 
where則是執行所有數據來工作的。 
再者having可以用聚合函數,如having sum(qty)>1000


該文章在 2018/8/31 8:35:46 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
亚洲Av2020在线播放 | 日韩国产精品久久午夜夜伦鲁鲁 | 在线日本有码中文字幕 | 天天久久精品视频 | 日本香蕉尹人在线视频 | 亚洲成a人片在线观看网 |