반응형
SQL 순위 매기는 함수 row_number
row_number 함수는 1 부터 순위 중복 없이 쭉 매겨주는 함수
동점이 있어도 같은 순위로 매기지 않음
예시를 통해 사용법을 알아보자
최근 1년 검색어 순위를 추출해보자
결과는 아래 표와 같이 나오면 좋겠다
키워드별 검색량에 따라 내림차순 정렬이 되어있고 맨 위에서부터 차례로 1, 2, 3, .... 순위를 매겨놨다.
쿼리문 >
select (row_number() over())
,lower
,query
from
(SELECT
lower(pp_word) -- 대소문자 구분없이 키워드 추출
,count(*) as query -- 검색량
FROM keyword_table
where pp_date between current_date - 365 and current_date -- 최근 1년 기간
group by lower(pp_word)
order by query desc
limit 500
)s1
select 문에서 ( row_number() over() ) 이 함수가 순위를 매겨주는 컬럼이 된다.
'IT > SQL' 카테고리의 다른 글
PostgreSQL case when 활용, 신규주문 재주문 구분해주기 - 레드시프트 (0) | 2024.01.24 |
---|---|
PostgreSQL 특정 문자 기준으로 문자열 자르기 - 레드시프트 (0) | 2023.11.20 |
[SQL, QuickSight] 브랜드별 일별 매출 쿼리문 (ft. 날짜 필터) (0) | 2022.09.23 |
[SQL, QuickSight] 일별 가입수, 가입경로 쿼리문/ 차트 (0) | 2022.09.23 |
[SQL] 월별 주문, 방문, 가입, 신규주문/ 재주문 쿼리문 (0) | 2022.09.20 |
댓글