문제풀이/스파르타 - sql 문제
[사전캠프] SQL 과제 | Lv2. 날짜별 획득포인트 조회하기
야하루
2024. 6. 26. 14:28
문제: 다음과 같은 결과테이블을 만들어봅시다.
created_at: 아이디 생성 날짜
average_points: 유저가 획득한 날짜별 평균 포인트(int), 반올림 필수
-- 풀이
SELECT date_format(created_at,'%Y-%m-%d') created_at,
round(avg(point)) average_points
from point_users
group by 1
-> 원래의 created_at 컬럼이 날짜와 시간의 조합으로 되어있으므로, '년-월-일' 만 남도록 바꾸어준다.
그리고 point의 평균을 구해야 하므로 avg(point)를 해주고 반올림 해야하니까 round()를 씌워준다.
이 평균은 날짜별로 구할것이므로, group by 1 (년-월-일 로 바꾸어 둔 컬럼) 로 범주별로 나눈다.
이때 만약 바꾼 created_at 칼럼이 아니라 기존의 created_at 컬럼으로 group by를 진행하면 날짜+시간대 별로 범주를 나누어서 다른 결과가 나오므로 주의.