본문 바로가기

SQL

[SQL 문제풀이] 가격이 제일 비싼 식품의 정보 출력하기-프로그래머스

문제링크

 

ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다.

 

https://school.programmers.co.kr/learn/courses/30/lessons/59412

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

풀이

 

가장 먼저 09:00 시간 부터 19:59 시간 대에 조건문을 추가하였다.

GROUP BY 를 사용해서 시간대 별로 나오게 하면서 COUNT 를 써서 시간대 별로 카운팅하게 하였다.

HOUR 값이 일의 자리인 경우 문자는 앞에 0이 붙어서 TO_NUMBER로 포맷하여 0이 안붙게 표시하였다.

마지막으로 시간대 순으로 정렬하기 위해 오름차순 정렬 하였다.

 

쿼리

 

SELECT
TO_NUMBER(TO_CHAR(DATETIME,'HH24')) AS HOUR,
COUNT(*)
FROM
ANIMAL_OUTS 
WHERE TO_CHAR(DATETIME,'HH24MI') BETWEEN '0900' AND '1959'
GROUP BY TO_CHAR(DATETIME,'HH24')
ORDER BY HOUR;