mysql中的where和having子句的區別
3 回答

慕尼黑5688855
TA貢獻1848條經驗 獲得超2個贊

慕蓋茨4494581
TA貢獻1850條經驗 獲得超11個贊
WHERE是對分組前記錄的條件,如果某行記錄沒有滿足WHERE子句的條件,那么這行記錄不會參加分組;而HAVING是對分組后數據的約束。、
舉例:
?查詢每個部門的部門編號以及每個部門工資大于1500的人數:
SELECT deptno,COUNT(*)
FROM emp
WHERE sal>1500
GROUP BY deptno;
HAVING子句
?查詢工資總和大于9000的部門編號以及工資和:
SELECT deptno, SUM(sal)
FROM emp
GROUP BY deptno
HAVING SUM(sal) > 9000;

蝴蝶不菲
TA貢獻1810條經驗 獲得超4個贊
SELECT 列名稱 FROM 表名稱 WHERE 列 BY 值
在 SQL 中增加 HAVING 子句原因是,WHERE 關鍵字無法與合計函數一起使用。
SELECT 合計函數 FROM 表名稱 WHERE 列 BY HAVING 合計函數
添加回答
舉報
0/150
提交
取消