특정 기간 동안 하루에 작성된 블로그 게시물 수를 반환하는 쿼리를 작성하고 있습니다. 주어진 문제에 대한 블로그 기록이없는 경우 문제가 발생합니다. 내 쿼리를 사용하면 그 날의 결과를 간단히 건너 뜁니다. 그것은 어떤 게시물이 없기 때문에이 2011-01-03 누락되어MySQL GROUP BY 날짜 - 행이 없을 때 결과를 반환하는 방법
count | date
_________________
2 | 2011-01-01
5 | 2011-01-02
1 | 2011-01-04
주의 사항 :
SELECT DATE(`posted`), COUNT(`id`)
FROM `blogs` WHERE `status` = 'active'
&& `posted` BETWEEN `2011-01-01` AND `2011-05-01`
GROUP BY DATE(`posted`)
그것은 비슷한을 반환
여기 내 쿼리입니다.
게시물이있는 요일을 표시하려면 어떻게해야합니까?
어떻게 동적 인 방식으로 처리 할 수 있습니까? 최신 통계를 원하고 임의로 날짜 범위를 선택할 수 있기를 원합니다. – johnnietheblack
@johnnietheblack - 날짜 테이블에 1900에서 2100까지의 모든 날짜가 포함되어있는 경우 WHERE 절의 날짜를 여전히 필터링하므로 가능한 모든 쿼리를 처리 할 수있는 충분한 범위가 날짜 테이블에 포함되어 있는지 확인하십시오 (예 : - a bit overkill) 정말 중요하지 않습니다. -이 테이블의 날짜 열에 대한 색인을 만드십시오! –