[프로그래머스 SQL 고득점 키트][GROUP BY]

Seongho·2023년 4월 13일
0

프로그래머스 SQL

목록 보기
1/4
post-thumbnail

Level 2

진료과별 총 예약 횟수 출력하기


APNT_YMD는 TIMESTAMP인데, 2022년 5월에 예약한 환자 수를 구해햐 하기 때문에 where절에 APNT_YMD를 2022-05로 세팅해줘야 한다. 이 때, like절을 쓸 수 있다. 따라서, where APNT_YMD like '2022-05%' 를 써주면 된다.

입양 시각 구하기(1)


TIMESTAMP에서 특정 값을 추출할 수 있다. 년, 월, 일, 시, 분, 초
YEAR(해당컬럼), MONTH(해당컬럼), DAY(해당컬럼), HOUR(해당컬럼), MINUTE(해당컬럼), SECOND(해당컬럼)

가격대 별 상품 개수 구하기


반올림, 버림, 올림 함수
ROUND(해당컬럼) : 소수점 첫째짜리에서 반올림 (소수점에서 반올림)
ROUND(해당컬럼, 1) : 소수점 첫째자리까지 반올림
FLOOR(해당컬럼) : 소수점 첫째자리에서 버림
CEIL(해당컬럼) : 소수점 첫째자리에서 올림

만원단위로 그룹을 잘라야하기 때문에 10000으로 나누면 예를 들어, 12000이면 1.2가 된다. 여기서 FLOOR함수를 적용하면 1이 되기 때문에 그 후 10000을 곱하면 만원단위로 데이터가 구별된다.

Level 3

자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기

  • case문 활용 : when과 then은 짝으로 나와야 한다.

즐겨찾기가 가장 많은 식당 정보 출력하기


서브쿼리를 이용해야 한다.

select FOOD_TYPE, max(FAVORITES) from REST_INFO group by FOOD_TYPE

위와 같이 쿼리를 날리면 음식 종류별 최대 즐겨탖기 수가 나온다.

따라서, 각 즐겨찾기 수가 음식 종류별 최대 즐겨찾기 수와 일치하는 데이터를 찾으면 된다.

profile
Record What I Learned

0개의 댓글