案例來源:ITPUB
表A:
字段a 字段b 字段c
張三 國文 95
張三 數學 90
張三 歷史 85
李四 國文 20
如果我们要统计每个学生考了幾門课,
但是如果我想統計每个学生考了幾門课,各是多少分,語句該怎麼寫??
结果:
張三 國文 95 3
張三 數學 90 3
張三 歷史 85 3
李四 國文 20 1
***********************
透過count( ) over (partition by ) 計算欄位B的總數 然後透過欄位a來切割
select a,b,c,count(b) over (partition by a) from testt;
****************
另一個範例: 查看employees 表中,哪個部門出現最多次
SELECT department_id,count(*) over (partition by department_id)A from employees;
select department_id,max(A) from(
SELECT department_id,count(*) over (partition by department_id)A from employees)
group by department_id;
結果: 部門ID50 出現最多次,表示部門50有最多的員工