문제 설명
보호소에서 09:00부터 19:59까지, 각 시간대별로 입양이 몇 건이 발생하는 지 조회한다. 이때 결과는 시간대 순으로 정렬한다.
문제 풀이
- 시간과 건수를 조회해야 하므로 SELECT절에 DATETIME과 집계함수를 이용한다. 날짜 데이터에서 시만 추출할 때 HOUR를 쓰고, 개수를 세는 COUNT 집계함수를 사용한다.
- FROM절에는 보호소에서 입양을 보낸 동물들의 정보가 담긴 ANIMAL_OUTS를 쓴다.
- 09:00부터 19:59까지라는 조회하라는 조건이 있으므로, WHERE절을 이용한다.
- 시간대별로 묶어야 하므로 그룹화를 할 수 있는 GROUP BY를 사용한다.
- 마지막으로, 시간대 순으로 정렬하라는 조건이 있으므로 ORDER BY를 이용한다. 이때, 칼럼명 뒤에 써야 하는 ASC 오름차순 키워드는 디폴트 값이므로 생략한다.
Solution
SELECT HOUR(DATETIME), COUNT(DATETIME)
FROM ANIMAL_OUTS
WHERE HOUR(DATETIME) >= 9 AND HOUR(DATETIME) <= 19
GROUP BY HOUR(DATETIME)
ORDER BY HOUR(DATETIME);
'프로그래머스 코딩테스트 > SQL 고득점 kit' 카테고리의 다른 글
프로그래머스 최솟값 구하기 (SUM,MAX,MIN/Level 2) (0) | 2022.08.07 |
---|---|
Programmers 최댓값 구하기 (SUM,MAX,MIN/Level 1) (0) | 2022.06.26 |
Programmers 상위 n개 레코드 (SELECT/Level 1) (0) | 2022.06.25 |
Programmers 여러 기준으로 정렬하기 (SELECT/Level 1) (0) | 2022.06.25 |
프로그래머스 동물의 아이디와 이름 (SELECT/Level 1) (0) | 2022.06.25 |