#문제 풀이 : 달리기반
Lv1, Lv2
Lv1. 데이터 속 김서방 찾기
“김”씨로 시작하는 이용자들 수를 세어 보기
select count(*) name_cnt
from users
where name like '김%'
substr(name,1,1) = '김' 대신 like를 사용했다.
결과는 맞았으나, 만약 테이블에 같은 사람이 중복해서 들어있을 경우를 대비하여, count(distinct(user_id)) 로 하는 것이 더 안정성 있어 보인다.
select count(distinct(user_id)) name_cnt
from users
where name like '김%'
Lv2. 날짜별 획득포인트 조회하기
날짜별로 획득한 포인트가 점점 늘어나는지 줄어드는지 확인하기
select substr(created_at,1,10) created_at, round(avg(point)) average_points
from point_users
group by 1
created_at를 yyyy-mm-dd 형식으로 바꾸기위해 substr()로 시간을 지웠지만, created_at가 date 형식이기에 date()로 바꿔야한다.
반올림 함수는 round(), 기본 형식은 round(컬럼, 자릿수)
자릿수를 생략하면, 0으로 판단하여 1의 자리까지 반올림한다.
select date(created_at) created_at, round(avg(point)) average_points
from point_users
group by 1