사용자 기반 성장 그래프를 위해 MySQL에서 순차적 날짜 범위 생성
기록이 없는 날에도 MySQL에서 순차적 날짜 범위를 생성하려면 , 다음 기술을 활용할 수 있습니다:
<br>SELECT DATE_ADD('2003-01-01 00:00:00.000', INTERVAL n5.num<em>10000 n4.num</em>1000 n3.num<em>100 n2.num</em>10 n1.num DAY ) AS 날짜<br>FROM<br>(0을 선택하세요. AS num UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) n1,<br>(SELECT 0 AS num UNION 전체 선택 1 UNION 전체 선택 2 UNION 전체 선택 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) n2,<br>(SELECT 0 AS num UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) n3,<br>(SELECT 0 AS num UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL 선택 8 UNION 전체 선택 9) n4,<br>(SELECT 0 AS num UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) n5<br>날짜가 어디인지 >='2011-01-02 00:00:00.000' AND 날짜 < NOW()<br>ORDER BY date<br>
이 쿼리는 각각 한 자리를 나타내는 n1~n5 열을 결합하여 순차적인 날짜 범위를 생성합니다. 전체 범위는 각 열의 최대값에 따라 결정됩니다(예: n3의 최대값이 3인 경우 범위는 399일입니다).
날짜 범위를 제한하려면 WHERE 절을 원하는 날짜 간격(예:
<br>WHERE date >=) MIN(your_table_date_field) AND 날짜 < 지금()<br>
위 내용은 데이터 시각화를 위해 MySQL에서 순차적 날짜 범위를 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!