-
프로그래머스 - MySql GROUP BY 입양 시각 구하기(2)알고리즘 2022. 5. 30.반응형
재귀 테이블을 이용해서 0~23까지 데이터를 만들어주는 컬럼을 만들어야 함.
[ MySql ]
WITH RECURSIVE re AS ( select 0 as hour union all select hour + 1 from re where hour < 23 ) select re.hour, count(hour(ao.datetime)) FROM re left join ANIMAL_OUTS as ao ON re.hour = hour(ao.datetime) group by re.hour;
with recursive 테이블명 as (
0을 셀렉함 별칭은 hour
모두 합치겠다
hour +1 씩 하겠다 from 자기 자신 where 조건문
)
이렇게 0 ~ 23을 출력할 수 있는 재귀 테이블을 만든다.
그리고 count에 대한 행을 출력하기 위한 쿼리문을 짠다.
위의 재귀 테이블과 합쳐야 하기 때문에 left join을 사용함.
hour() 함수를 이용해서 시간을 구할 수 있다.
그룹은 재귀 테이블을 기준으로 잡는다.
반응형'알고리즘' 카테고리의 다른 글
프로그래머스 - 수박수박수박수박수박수? (0) 2022.06.03 프로그래머스 - MySql JOIN 보호소에서 중성화한 동물 (0) 2022.06.02 프로그래머스 - 문자열을 정수로 바꾸기 (0) 2022.05.29 프로그래머스 - 시저 암호 (0) 2022.05.27 프로그래머스 - 약수의 합 (0) 2022.05.14