개발하자/DB&SQL

윈도우 함수로 카운트하기

i구야 2018. 7. 3. 15:19

*GROUP BY로 주소별 사람수를 계산하는 SQL

 

SELECT address, COUNT(*)

FROM Address

GROUP BY address;

 

실행결과

 

address   | count

----------+---------

서울시    | 3

인천시    | 2

부산시    | 2

속초시    | 1

서귀포시 | 1

 

 

======================

 

*윈도우 함수로 주소별 사람수를 계산하는 SQL

SELECT address, COUNT(*) OVER(PARTITION BY address)

FROM Address;

 

실행결과

address   | count

----------+---------

속초시    | 1

인천시    | 2

인천시    | 2

서울시    | 3

서울시    | 3

서울시    | 3

부산시    | 2

부산시    | 2

서귀포시 | 1

 

 

윈도우함수는 GROUP BY와는 다르게 출력되는 레코드의 수가 기존테이블의 레코드의 수와 같다.

윈도우함수는 집약기능이 없는 GROUP BY 구 이다.