*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 |