[SQL] 윈도우 함수

corncheese·2023년 3월 27일
0

SQL

목록 보기
4/4

윈도우 함수는 '성능'과 큰 관계가 있다

윈도우 함수의 특징 : 집약 기능이 없는 GROUP BY 구
GROUP BY구는 자르기와 집약 두개의 기능으로 구분되지만, 윈도우 함수는 자르기 기능만 있다.

윈도우 함수는 PARTITION BY 라는 구로 수행한다.
위에 말했듯이 집약기능이 없기 때문에, 윈도우 함수는 출력 결과의 레코드 수가 입력되는 테이블의 레코드 수와 같다는 것이다.

윈도우 함수의 기본적인 구문은 집약 함수 뒤에 OVER구를 작성하고, 내부에 키를 지정하는 PARTITION BY 또는 ORDER BY 구를 입력하는 것이다.

SELECT address, COUNT(*) OVER(PARTITION BY address)
FROM address;
// 주소별로 사람수를 계산하는 SQL

윈도우 함수로 사용할 수 있는 함수로는 COUNT 또는 SUM 같은 일반 함수 이외에도 윈도우 함수 전용 함수로 제공되는 RANK 또는 ROW_NUMBER 등의 순서 함수가 있다.

SELECT name, age,
	RANK() OVER(ORDER BY age DESC) AS rnk
FROM address;
// RANK() 함수는 지정된 키로 레코드에 순위를 붙이는 함수

0개의 댓글