https://school.programmers.co.kr/learn/courses/30/lessons/131123
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
WITH TBL AS(
SELECT FOOD_TYPE,REST_ID,REST_NAME,FAVORITES,
RANK() OVER(PARTITION BY FOOD_TYPE ORDER BY FAVORITES DESC) AS RK
FROM REST_INFO
)
SELECT FOOD_TYPE,REST_ID,REST_NAME,FAVORITES
FROM TBL
WHERE RK = 1
ORDER BY FOOD_TYPE DESC
RANK() OVER(ORDER BY attr DESC/ASC) AS attr_name
attr의 값으로 순서를 매겨 attr_name이라는 새로운 열을 생성.
RANK() OVER(PARTITION BY group_attr ORDER BY attr DESC/ASC) AS attr_name
이 때, 위처럼 partition by를 사용해 그룹화도 가능
'SQL' 카테고리의 다른 글
[MYSQL] 3개의 테이블 JOIN (0) | 2024.08.04 |
---|---|
[MYSQL] PERCENT_RANK() (0) | 2024.08.04 |
[MYSQL] 최댓값, CONCAT (0) | 2024.07.29 |
[MYSQL] GROUOP BY에 사용되는 열의 조건 (0) | 2024.07.29 |
[MYSQL] OR (0) | 2024.07.29 |