[코딩테스트]/[SQL]
[StrataScratch - SQL] (Medium) Apple Product Counts
잰잰'
2025. 5. 29. 11:24
문제
우리는 사용자 데이터 분석을 통해 적어도 한 번의 이벤트를 수행한 사용자들 사이에서 Apple 기기의 인기도를 이해하려고 합니다. 구체적으로, 다양한 언어별로 이 인기도를 측정하고자 합니다. "macbook pro", "iphone 5s", "ipad air"를 사용하는 Apple 기기 사용자 수를 세고, 각 언어별 전체 사용자 수와 비교해주세요.
결과는 언어, Apple 기기 사용자 수, 각 언어별 전체 사용자 수를 포함하여 출력하세요. 마지막으로, 전체 사용자 수가 많은 언어부터 결과가 정렬되도록 하세요.
테이블설명
예상결과
✏️ 풀이
SELECT language,
COUNT(DISTINCT
CASE
WHEN device = 'macbook pro' OR device = 'iphone 5s' OR device = 'ipad air' THEN e.user_id
END) AS n_apple_user,
COUNT(DISTINCT e.user_id) AS n_total_users
FROM playbook_events AS e
JOIN playbook_users AS u ON e.user_id = u.user_id
GROUP BY 1
ORDER BY 3 DESC;
1. "macbook pro", "iphone 5s", "ipad air"를 사용하는 유저 카운트
2. 전체 유저 카운트
# 주의할점 #
중복되는 user_id가 존재하므로 DISTINCT로 중복 제거 필수