[사전캠프] 날짜별 획득 포인트 조회하기

2024. 8. 18. 21:54내일배움캠프

※ 참고 : 기존 문제가 문맥이 좀 맞지 않는다... 그래서 과제 제목에 맞추어 개인적으로 약간 손 보았다.

문제 : 이용자들이 사용하는 포인트를 따라가면 얼마나 활동적인지 파악할 수 있다. 포인트가 많을 수록 활동이 많다는 의미가 되니 날짜별로 이용자의 평균 포인트를 확인해보자.

조건 : 날짜별 이용자의 평균 포인트가 높은 순으로 정렬해 언제 가장 활동적이었는지 확인

SELECT DATE(created_at) created_at, ROUND(AVG(point), 0) average_points
FROM point_users
GROUP BY 1
ORDER BY 2 DESC

언제 이용자들이 활동적이었는지 확인 결과

 

기존 'create_id' 는 'datetime' 타입이었다. 해당 컬럼에서 'DATE' 를 사용해 날짜 정보를 가져왔고, 'ROUND' 를 통해 해당 날짜에 이용자들의 포인트 평균 값을 소수점 첫 번째 자리에서 반올림한 값을 'average_points' 로 사용했다. 날짜별 평균 포인트를 확인해야 하므로 'GROUP BY' 로 날짜별 그룹화를 진행했고 포인트(평균)가 많았던 날, 즉 활동적인 날을 파악하기 위해 'average_points' 를 내림차순 정렬하였다.