날짜별 획득포인트 조회하기

수이·2025년 2월 12일
0

🟢 데일리퀘스트

목록 보기
17/19
post-thumbnail
  • 상황: 이번에는 이용자들이 잘 활동하고 있는지 보고자 합니다. 포인트가 많을수록 활동을 잘하고 있다고 생각 할 수 있습니다. 날짜별로 획득한 포인트가 점점 늘어나는지 줄어드는지 확인해 봅시다.
  • 데이터 설명
    • point_users 테이블은 스파르타코딩클럽 가입 유저들의 포인트에 대한 정보를 기록한 테이블입니다.
      • point_user_id: user_point 행을 구별하기 위한 key(varchar255)
      • created_at: 아이디 생성 일시(timestamp)
      • updated_at: 정보 업데이트 날짜(timestamp)
      • user_id: 익명화된 유저들의 아이디(varchar255)
      • point: 보유하고 있는 포인트(int)
  • 문제: 다음과 같은 결과테이블을 만들어봅시다.
    • created_at: 아이디 생성 날짜
    • average_points: 유저가 획득한 날짜별 평균 포인트(int), 반올림 필수

나눠서 생각하기

1) 불러와야 할 정보 선택

SELECT created_at,
	   AVG(point) -- 평균 포인트
FROM point_users

2) 그룹화

SELECT created_at,
	   AVG(point) 
FROM point_users
GROUP BY 1 -- created_at 기준으로 그룹화

3) 조건 추가(날짜만, 반올림) / 완성✨

SELECT DATE(created_at) AS created_at, --날짜 포맷화
	   ROUND(AVG(point)) AS average_points -- 반올림
FROM point_users
GROUP BY 1

여기서 반올림을 어떻게 하지? 라고 생각하다가 파이썬 생각나서 ROUND 있나 하고 쳐봤더니 맞았다! EZ~~

0개의 댓글

관련 채용 정보