[실습] SQL: like, date

ryuns·2025년 3월 31일

SQL

목록 보기
3/4

#문제 풀이 : 달리기반
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_atyyyy-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

0개의 댓글