查找薪水記錄超過15條的員工號emp_no以及其對應的記錄次數t 知識點 where 和having 用法: 1、where、聚合函數、having在from後面的執行順序:where>聚合函數(sum,min,max,avg,count)>having 2、若引入聚合函數來對group by結果進 ...
查找薪水記錄超過15條的員工號emp_no以及其對應的記錄次數t
知識點
where 和having 用法:
1、where、聚合函數、having在from後面的執行順序:where>聚合函數(sum,min,max,avg,count)>having
2、若引入聚合函數來對group by結果進行過濾,則只能用having
3、having語句通常與group by語句聯合使用,用來過濾由group by語句返回的記錄集。
4、having語句的存在彌補了where關鍵字不能與聚合函數聯合使用的不足
5、where子句的作用是在對查詢結果進行分組前,將不符合where條件的行去掉,即在分組之前過濾數據,條件中不能包含聚組函數,使用where條件顯示特定的行。
6、having子句的作用篩選滿足條件的組,即在分組之後過濾數據,條件中經常包含聚組函數,使用having條件顯示特定的組,也可以使用多個分組標準進行分組。
題目
請你查找薪水記錄超過15條的員工號emp_no以及其對應的記錄次數t,以上例子輸出如下:
emp_no | t |
---|---|
10001 | 16 |
解
select emp_no, count(distinct salary) t
from salaries
group by emp_no
having t > 15;