굳이 서브쿼리 안써도 되긴 함
그냥 서브쿼리 빠져있을 때 작성해서 이런 듯
SELECT HOUR, COUNT
FROM
(SELECT DATE_FORMAT(DATETIME, '%H') 'HOUR', count(ANIMAL_ID) 'COUNT'
FROM ANIMAL_OUTS
WHERE DATE_FORMAT(DATETIME, '%H') >= 9 and DATE_FORMAT(DATETIME, '%H') <= 19
GROUP BY HOUR
ORDER BY HOUR ASC
) A
서브쿼리 안 쓴 버전
그러고 보니 얘는 HAVING 안쓰고 연산이 되네
날짜라 그런가
SELECT DATE_FORMAT(DATETIME, '%H') 'HOUR', count(ANIMAL_ID) 'COUNT'
FROM ANIMAL_OUTS
WHERE DATE_FORMAT(DATETIME, '%H') >= 9 and DATE_FORMAT(DATETIME, '%H') <= 19
GROUP BY HOUR
ORDER BY HOUR ASC
의문인건 참고한 블로그에는 %H, %k 둘다 24시간제(00,01,...,23)라고 되어있는데
%H는 통과, %k는 통과안된다
%H는 9시가 09라고 나오고, %k는 9로 나와서 정렬 시 맨 뒤로가기 때문인듯
예시가 이래서 09라고 나오면 안될줄 알고 %k로 치고 엄청 고민하고 있었는데
%H로 트라이 해본게 되서 좀 허탈했다
여튼 오늘도 하나했다
출처: 프로그래머스
참고: https://heytech.tistory.com/50
'코딩테스트' 카테고리의 다른 글
[프로그래머스] [SQL] 카테고리 별 상품 개수 구하기 (0) | 2024.01.09 |
---|---|
[프로그래머스] 나의 2023년 코딩테스트 연습 연말결산 (0) | 2023.12.26 |
[프로그래머스] [SQL] 재구매가 일어난 상품과 회원 리스트 구하기 (1) | 2023.12.18 |
[프로그래머스] [SQL] 취소되지 않은 진료 예약 조회하기 (0) | 2023.12.13 |
[프로그래머스] [SQL] 5월 식품들의 총매출 조회하기 (2) | 2023.12.06 |