백엔드 부트캠프[사전캠프]/문제풀이

[SQL 달리기반 레벨 2] 📆 날짜별 획득포인트 조회하기

sintory-04 2025. 1. 31. 18:07

    문제 : 📆 날짜별 획득포인트 조회하기

    사용자들이 잘 활동하고 있는지 보고자 합니다. 포인트가 많을수록 활동을 잘하고 있다고 생각 할 수 있습니다.

    날짜별로 획득한 포인트가 점점 늘어나는지 줄어드는지 확인해 봅시다.

    조건

    - created_at: 익명화된 유저들의 아이디(varchar255)
    - average_points: 유저가 획득한 날짜별 평균 포인트(int), 반올림 필수


    1. 알고리즘

    - 날짜별로 포인트가 늘어나는지를 알아야한다

    - 먼저, created_at 열을 보면 시간, 분, 초 까지 나온걸 알 수 있다.

    - 이걸 조건에 맞는 dt 타입으로 바꾸어주고

    - creted_at 열 별로 avg_points 를 계산하여야한다. > groupby

    - 반올림도 하여야한다.

    반올림 : ROUND(숫자, 자리수)

    올림 : CEIL(숫자)

    내림 : FLOOR(숫자)

    절삭 : TRUNCATE(숫자, 자리수)

    2. SQL 문 작성

    SELECT DATE(created_at), ROUND(avg(point),0)
    FROM point_users 
    GROUP BY 1