Window Function

홍태화·2024년 3월 22일

😊 RANK() / DENSE_RANK()

  • 특정 컬럼의 값을 기준으로 그 값의 순위를 매길 때 사용된다
  • 동일한 값이 여러 개 있는 경우 순위가 동일한 값을 가진다
SELECT id, last_name , RANK() OVER (ORDER BY agency_fee  DESC) AS agency_fee 
FROM sales_agents ;
first_namegallery_id
Smith1
White2
Brown3
Stewart4
Black5

PARTITION 사용법

  • 파티션은 데이터를 분할하는 데 사용되며 각 파티션은 독립적으로 순위를 매길 수 있다
  • agency_fee로 순위를 매기지만 각 직원이 해당하는 미술관 안에서 랭크를 매긴다
SELECT 
	id, 
    last_name,  
	RANK() OVER (PARTITION By gallery_id  ORDER BY agency_fee  DESC) AS agency_fee 
FROM sales_agents ;
idlast_nameagency_fee
4Smith1
1Brown1
3Black2
2White1
5Stewart2

LEAD() / LAG()

profile
우어어아아앙

0개의 댓글