본문 바로가기

개발하자/DB&SQL

윈도우 함수로 카운트하기

*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 구 이다.

'개발하자 > DB&SQL' 카테고리의 다른 글

인덱스 스캔과 테이블 풀스캔  (0) 2018.07.04
윈도우 함수 RANK() , DENSE_RANK()  (0) 2018.07.03
mysql ALIAS_FOR_SUBQUERY  (0) 2018.06.01