코딩테스트

[프로그래머스] [SQL] 입양 시각 구하기(1)

히그다스 2023. 12. 21. 16:07

 

 

 

 

굳이 서브쿼리 안써도 되긴 함

그냥 서브쿼리 빠져있을 때 작성해서 이런 듯

 

 

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

 

[MySQL] DATE_FORMAT: 날짜/시간 표기 방식 지정하기

본 포스팅에서는 MySQL 내 date_format 구문을 활용하여 날짜 혹은 시간 표기 방식을 지정하는 방법을 알아봅니다. 목차 1. date_format 표기법 2. 날짜만 출력하기 2.1. 'yyyy-mm-dd' 형태로 출력하기 2.2. 'yy-mm

heytech.tistory.com