close

 

 

案例來源: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有最多的員工

 

 

 

arrow
arrow
    全站熱搜

    to52016 發表在 痞客邦 留言(0) 人氣()