본문 바로가기
SQL

MySQL에서 임의의 숫자 컬럼 만들기

by PD su 2024. 1. 31.

24시간 통계를 만들어야 하는데 Group by로 하자니 0인 곳은 아에 나오지 않는 문제가 발생

 

WITH RECURSIVE HOURS AS (
  SELECT 0 AS HOUR
   UNION ALL
  SELECT HOUR + 1
    FROM HOURS
   WHERE HOUR < 23
)
SELECT A.HOUR
  FROM HOURS A
 GROUP BY A.HOUR

 

기본적으로 이런 형태의 테이블을 미리 재귀 WITH절로 생성하면 0부터 23까지의 컬럼을 가지는 테이블을 생성할 수 있다.

이걸 LEFT JOIN해서 문제는 해결했는데 생각해보니 이런 저런 방식으로 많이 써먹을 방식인거 같아서 기록해둔다.