부트캠프

10.22 TIL

ohs020105 2024. 10. 22. 17:23

오늘은 문제를 풀기 보단 밀린 강의를 듣는데에 신경을 많이 썻다. sql 강의는 4주차 까지 완료 하고 이제 앞으로 5주차만 남았다. html 강의는 이 SQL 강의를 다 듣고 해도 늦진 않을 것 같아서 우선순위에서 밀어놨다. 


지금까지 배운 내용은 천천히 여기다가 글 써서 올릴 예정이다. 당분간 TIL은 문제푼 것을 풀이한 것 으로 올릴 것 이다.

 


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

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

 

이런식으로 풀이가 된다. 

여기서

  • DATE : 내장함수를 이용해 데이터형을 날짜형으로 바꿀 수 있다.
  • AVG : 내장함수를 이용해 평균 값을 구할 수 있다.
  • ROUND : 내장함수를 통해서 반올림 할 수 있다.

이번 문제를 통해 내가 공부하면서 놓친 부분이나 DATE,ROUND 같은 함수를 한번 더 확인하고 이해 할수가 있었던 것 같다.