문제
우리는 사용자 데이터 분석을 통해 적어도 한 번의 이벤트를 수행한 사용자들 사이에서 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로 중복 제거 필수
'[코딩테스트] > [SQL]' 카테고리의 다른 글
[StrataScratch - SQL] (Medium) Processed Ticket Rate By Type (0) | 2025.06.27 |
---|---|
[StrataScratch - SQL] (Medium) Spam Posts (0) | 2025.05.29 |
[StrataScratch - SQL] (Medium) No Order Customers (0) | 2025.05.28 |
[StrataScratch - SQL] (Medium) Number Of Units Per Nationality (0) | 2025.05.28 |
[StrataScratch - SQL] (Medium) Ranking Most Active Guests (0) | 2025.05.14 |