susinlee 님의 블로그
Top 5 Artists 본문
[문제]
https://datalemur.com/questions/top-fans-rank
Spotify SQL Interview Question | DataLemur
Spotify SQL Interview Question: Write a query to find top 5 ranked artists.
datalemur.com
[풀이]
1. 테이블을 병합해 준뒤
2. 아티스트 별로 곡의 개수를 세어준다
3. 곡의 개수를 기준으로 순위를 매겨준다
(랭크 함수 ORDER BY에 집계함수를 사용하여 2, 3번을 한번에 처리해준다)
4. 상위 5명만 필터링 해준다 (아티스트 오름차순 정렬하면 오답처리됨 - 문제에 문제있음)
[코드]
WITH artist_rank AS (
SELECT
a.artist_name
, DENSE_RANK() OVER(
ORDER BY COUNT(s.song_id) DESC
) AS artist_rank
FROM artists a
JOIN songs s
ON a.artist_id = s.artist_id
JOIN global_song_rank g
ON s.song_id = g.song_id
WHERE g.rank <= 10
GROUP BY a.artist_name
)
SELECT
artist_name
, artist_rank
FROM artist_rank
WHERE artist_rank <= 5
'코드카타 > SQL, Pandas' 카테고리의 다른 글
Duplicate Job Listings (0) | 2025.03.09 |
---|---|
Active User Retention (0) | 2025.03.08 |
Top Three Salaries (0) | 2025.03.08 |
Teams Power Users (0) | 2025.03.08 |
Average Post Hiatus (Part 1) (0) | 2025.03.08 |