본문 바로가기
데이터/SQL

[MySQL] 없는 시간 표시하기(재귀적 CTE)

by 찌노오 2022. 10. 26.

 

 

 시계열(Time Series) 데이터가 아닌 경우 시계열 형태로 시각화를 할 때, 해당 범위에 데이터가 없는 경우 그래프가 아예 누락되게 된다. 이 경우 시각적으로 직관적이지도 않고, 그래서 해석하는데 시간이 더 걸리게 된다. 

 

왼쪽 그래프를 오른쪽 그래프처럼 값이 없어도 축값이 표기되도록 하고 싶을 때

 

 

없는 숫자(e.g. 시간, 분 등) 표시하기

표기가 안되는 값을 강제로 출력하게 하여 없는 항목을 출력하게 만들 수 있다.

WITH RECURSIVE my_cte AS
(
  SELECT 1 AS n
  UNION ALL
  SELECT 1+n FROM my_cte WHERE n<10  # <- recursive SELECT
)
SELECT * FROM my_cte;

 해당 쿼리를 작성 후, join을 하여 데이터 쿼리와 결합하면 된다.

 

 

 

출처:

https://dev.mysql.com/blog-archive/mysql-8-0-labs-recursive-common-table-expressions-in-mysql-ctes-part-two-how-to-generate-series/

 

 

 

 

 

반응형

댓글