코딩문제풀이/SQL

[LeetCode] User Activity for the Past 30 Days I (SQL)

오늘밤공부 2023. 7. 10. 11:03
반응형

🗓️ 문제 설명

  • Activity 테이블의 user_id, session_id, activity_date, activity_type은 각각 유저ID, 세션ID, 활동일자, 활동종류를 나타냅니다.
  • Activity에는 기본키가 없으며 중복값이 있을 수 있습니다.
  • 활동종류(activity_type)에는 open_session(세션 시작), end_session(세션 끝), scroll_down(스크롤내림), send_message(메시지 발송)이 있습니다.
  • 해당 테이블은 소셜 미디어 웹사이트에 대한 사용자 활동을 보여줍니다.
  • 각 세션은 정확히 한 명의 사용자에게 속합니다. 
Column name Type
user_id int
session_id int
activity_date date
activity_type enum

 

문제

  • 2019년 7월 27일을 포함한 날까지 30일 동안 일일 활성 사용자 수를 찾는 SQL 쿼리를 작성해주세요.
  • 해당 날짜에 활동을 한 번 이상 수행한 사용자는 언젠가는 활동한 것입니다.
  • 문제 예시
user_id session_id activity_date activity_type
1 1 2019-07-20 open_session
1 1 2019-07-20 scroll_down
1 1 2019-07-20 end_session
2 4 2019-07-20 open_session
2 4 2019-07-21 send_message
2 4 2019-07-21 end_session
3 2 2019-07-21 open_session
3 2 2019-07-21 send_message
3 2 2019-07-21 end_session
4 3 2019-06-25 open_session
4 3 2019-06-25 end_session
  • 출력 예시
day active_users
2019-07-20 2
2019-07-21 2

 

💻 코드

최종 코드

  • 실행 결과

 

코드 풀이

 

반응형