DB
Oracle 컬럼 카테고리별로 순위 매기는 방법
ZZJJing
2023. 3. 4. 16:07
반응형
Oracle에서 카테고리별 순위를 매기는 방법:
-- ROW_NUMBER() 사용
SELECT
category,
item_name,
sales,
ROW_NUMBER() OVER (PARTITION BY category ORDER BY sales DESC) as rank
FROM sales_table;
-- RANK() 사용 (동일 값은 같은 순위)
SELECT
category,
item_name,
sales,
RANK() OVER (PARTITION BY category ORDER BY sales DESC) as rank
FROM sales_table;
-- DENSE_RANK() 사용 (순위 건너뛰기 없음)
SELECT
category,
item_name,
sales,
DENSE_RANK() OVER (PARTITION BY category ORDER BY sales DESC) as rank
FROM sales_table;
주요 차이점:
- ROW_NUMBER(): 고유한 순위 부여 (1,2,3,4...)
- RANK(): 동일값 동일순위, 다음 순위 건너뜀 (1,1,3,4...)
- DENSE_RANK(): 동일값 동일순위, 건너뛰지 않음 (1,1,2,3...)
728x90
반응형