[LeetCode-SQL 50] 1141. User Activity for the Past 30 Days I

코린이·2025년 6월 3일

SQL 문제 풀이 (MySQL)

목록 보기
70/96

❓ 문제

Activity
+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| user_id       | int     |
| session_id    | int     |
| activity_date | date    |
| activity_type | enum    |
+---------------+---------+

이 테이블에는 중복 행이 있을 수 있습니다.
activity_type 열은 유형(‘open_session’, ‘end_session’, ‘scroll_down’, ‘send_message’)의 ENUM(카테고리)입니다.
이 표는 소셜 미디어 웹사이트에 대한 사용자 활동을 보여줍니다.
각 세션은 정확히 한 명의 사용자에 속한다는 점에 유의하세요.

2019-07-27을 포함하여 30일 동안의 일일 활성 사용자 수를 구하는 솔루션을 작성하세요. 사용자가 해당 날짜에 활동을 한 번 이상 수행한 경우 해당 사용자는 하루 동안 활동한 것입니다.

결과 테이블을 임의의 순서로 반환합니다.
자세한 문제 내용은 사이트 참고...


❗️ 문제 풀이

SELECT
    activity_date AS day
    , COUNT(DISTINCT user_id) AS active_users
FROM Activity
WHERE 1=1
    AND activity_date BETWEEN DATE_ADD('2019-07-27', INTERVAL -29 DAY) AND '2019-07-27'
GROUP BY activity_date
;

🔗 Reference

https://leetcode.com/problems/user-activity-for-the-past-30-days-i/description/?envType=study-plan-v2&envId=top-sql-50

0개의 댓글