프로그래머스 SQL
입양시각 구하기(2)
cosmohoo
2021. 11. 27. 18:40
반응형
예시
SQL문을 실행하면 다음과 같이 나와야 합니다.
HOUR COUNT
0 | 0 |
1 | 0 |
2 | 0 |
3 | 0 |
4 | 0 |
5 | 0 |
6 | 0 |
7 | 3 |
8 | 1 |
9 | 1 |
10 | 2 |
11 | 13 |
12 | 10 |
13 | 14 |
14 | 9 |
15 | 7 |
16 | 10 |
17 | 12 |
18 | 16 |
19 | 2 |
20 | 0 |
21 | 0 |
22 | 0 |
23 | 0 |
SELECT HOUR, COUNT(O.DATETIME) AS COUNT
FROM
(
SELECT LEVEL-1 AS HOUR
FROM DUAL
CONNECT BY LEVEL<=24
)A LEFT join ANIMAL_OUTS O
ON A.HOUR = to_char(O.DATETIME,'HH24')
GROUP BY HOUR
ORDER BY HOUR;
=> LEFT JOIN 하는 방법을 알아야 풀 수 있는 문제입니다.
=> DUMMY TABLE에서 1~23까지 비어있는 테이블을 작성한 후, ANIMAL_OUTS에 있는 시간 값들과 LEFT JOIN을 걸어 표현할 수 있습니다.
** MYSQL과 ORACLE의 문법에는 차이가 있습니다.
** 해당문제는 ORACLE의 문법으로 문제를 풀었습니다.
반응형