내일배움캠프 STEP 2. 속도에 맞춰 나아가기/SQL 실전
Lv2. 날짜별 획득 포인트 조회하기
김호진02
2024. 10. 22. 00:08
- 상황: 이번에는 이용자들이 잘 활동하고 있는지 보고자 합니다. 포인트가 많을수록 활동을 잘하고 있다고 생각 할 수 있습니다. 날짜별로 획득한 포인트가 점점 늘어나는지 줄어드는지 확인해 봅시다.
- 데이터 설명
- point_users 테이블은 스파르타코딩클럽 가입 유저들의 포인트에 대한 정보를 기록한 테이블입니다.
- point_user_id: user_point 행을 구별하기 위한 key(varchar255)
- created_at: 아이디 생성 날짜(timestamp)
- updated_at: 정보 업데이트 날짜(timestamp)
- user_id: 익명화된 유저들의 아이디(varchar255)
- point: 보유하고 있는 포인트(int)
- point_users 테이블은 스파르타코딩클럽 가입 유저들의 포인트에 대한 정보를 기록한 테이블입니다.
- 문제: 다음과 같은 결과테이블을 만들어봅시다.
- created_at: 익명화된 유저들의 아이디(varchar255)
- average_points: 유저가 획득한 날짜별 평균 포인트(int), 반올림 필수
SELECT created_at ,ROUND(AVG(point))
FROM point_users
GROUP BY created_at;
날짜별 포인트의 평균(반올림)
ROUND() 함수
ROUND(숫자, 소수 자릿수);
- 숫자: 반올림할 숫자.
- 소수 자릿수 (Optional): 반올림할 소수점 이하 자리수입니다. 이 인수를 생략하면 기본값은 0이며, 정수로 반올림합니다.
예시
- 소수점 자릿수를 지정하지 않은 경우 (정수로 반올림)
SELECT ROUND(123.456);
결과: 123
소수 자릿수를 지정하지 않으면 기본값인 0으로 반올림합니다.
- 소수점 이하 두 자리까지 반올림
SELECT ROUND(123.456, 2);
결과: 123.46
소수점 이하 두 자리까지 반올림되었습니다.