기록이 누락된 경우에도 MySQL에서 범위 내의 모든 날짜 가져오기
사용자 데이터베이스에서 그래프를 생성해야 할 수도 있습니다. 사용자 기반 성장을 묘사합니다. 일반적으로 사용되는 쿼리는 다음과 같습니다.
SELECT DATE(datecreated), count(*) AS number FROM users WHERE DATE(datecreated) > '2009-06-21' AND DATE(datecreated) <= DATE(NOW()) GROUP BY DATE(datecreated) ORDER BY datecreated ASC
이 쿼리는 원하는 정보를 검색하는 반면, 사용자가 등록되지 않은 날짜는 생략합니다. 이 문제를 해결하기 위해 동적 달력을 활용하는 솔루션을 구현할 수 있습니다. 방법은 다음과 같습니다.
select * from ( select date_add('2003-01-01 00:00:00.000', INTERVAL n5.num*10000+n4.num*1000+n3.num*100+n2.num*10+n1.num DAY ) as date from (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) n1, (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) n2, (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, (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) n4, (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 ) a where date >'2011-01-02 00:00:00.000' and date < NOW() order by date
이 동적 달력은 지정된 범위 내의 날짜를 생성하여 사용자 기반이 없는 날짜를 결과에 포함할 수 있습니다. 날짜 제한을 조정하고 공식을 특정 데이터 구조에 적용하면 활동이 없는 기간에도 사용자 기반 성장을 정확하게 반영하는 그래프를 생성할 수 있습니다.
위 내용은 데이터가 누락된 경우에도 사용자 증가 분석을 위해 MySQL에서 전체 날짜 범위를 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!