저작권 문제로 인해, 직접 작성한 쿼리문만 공개.
17. 멀티 플랫폼 게임 찾기
https://solvesql.com/problems/multiplatform-games/
WITH major_platform_game AS (
SELECT
games.name AS game_name,
games.platform_id,
games.publisher_id,
companies.company_id,
companies.name AS company_name,
platforms.name AS platform_name,
CASE
WHEN platforms.name IN ('PS3', 'PS4', 'PSP', 'PSV') THEN 'SONY'
WHEN platforms.name IN ('Wii', 'WiiU', 'DS', '3DS') THEN 'Nintendo'
WHEN platforms.name IN ('X360', 'XONE') THEN 'Microsoft'
ELSE NULL
END AS major_platform
FROM games
INNER JOIN companies ON games.publisher_id = companies.company_id
INNER JOIN platforms ON games.platform_id = platforms.platform_id
WHERE year >= '2012'
ORDER BY games.name
)
SELECT
game_name AS name
FROM major_platform_game
GROUP BY game_name
HAVING COUNT(DISTINCT major_platform) >= 2
ORDER BY name
-----------------------------------------------------------------
-----------------------------------------------------------------
# 윈도우 함수 활용
WITH major_platform_game AS (
SELECT DISTINCT
games.name AS game_name,
CASE
WHEN platforms.name IN ('PS3', 'PS4', 'PSP', 'PSV') THEN 'SONY'
WHEN platforms.name IN ('Wii', 'WiiU', 'DS', '3DS') THEN 'Nintendo'
WHEN platforms.name IN ('X360', 'XONE') THEN 'Microsoft'
ELSE 'Other'
END AS major_platform
FROM games
INNER JOIN companies ON games.publisher_id = companies.company_id
INNER JOIN platforms ON games.platform_id = platforms.platform_id
WHERE year >= '2012'
)
, deduplicated AS (
SELECT DISTINCT
game_name,
major_platform
FROM major_platform_game
WHERE major_platform != 'Other'
)
, platform_count AS (
SELECT
game_name AS name,
ROW_NUMBER() OVER (PARTITION BY game_name ORDER BY game_name) AS row_num
FROM deduplicated
)
SELECT DISTINCT name
FROM platform_count
WHERE row_num != 1;
'sql > Advent of SQL 2024' 카테고리의 다른 글
SQL 문제 풀이 챌린지(19/25) - 전국 카페 주소 데이터 정제하기 (0) | 2024.12.19 |
---|---|
SQL 문제 풀이 챌린지(18/25) - 펭귄 날개와 몸무게의 상관 계수 (0) | 2024.12.18 |
SQL 문제 풀이 챌린지(16/25) - 스테디셀러 작가 찾기 (0) | 2024.12.18 |
SQL 문제 풀이 챌린지(15/25) - 폐쇄할 따릉이 정류소 찾기 2 (0) | 2024.12.18 |
SQL 문제 풀이 챌린지(14/25) - 전력 소비량 이동 평균 구하기 (0) | 2024.12.18 |