PHPで欠落している日付を追加する方が簡単かもしれません。ここで
は、私が現在持っているものです。 MySQLでは、どこかの日付を取得する必要があります。多くの場合、データベースにはこの情報を持つ「カレンダー」テーブルがあります。あなたは1を持っている場合は、このようなものは、あなたが欲しいものを行います。
SELECT DATE_FORMAT(c.date, '%Y-%m-%d') AS the_date, COUNT(t.date) AS count
FROM Calendar c LEFT JOIN
table t
ON c.date = t.date
WHERE c.date BETWEEN '2014-11-28' AND '2014-12-05' -- MySQL recognizes strings in the format of YYYY-MM-DD as dates when needed
GROUP BY the_date;
あなたは、このようなテーブルを持っていない場合は、クエリのための1つ作ることができます。
SELECT DATE_FORMAT(c.date, '%Y-%m-%d') AS the_date, COUNT(t.date) AS count
FROM (SELECT date('2014-11-28') as date UNION ALL
SELECT date('2014-11-29') as date UNION ALL
SELECT date('2014-11-30') as date UNION ALL
SELECT date('2014-12-01') as date UNION ALL
SELECT date('2014-12-02') as date UNION ALL
SELECT date('2014-12-03') as date UNION ALL
SELECT date('2014-12-04') as date UNION ALL
SELECT date('2014-12-05') as date
) c LEFT JOIN
table t
ON c.date = t.date
GROUP BY the_date;
をこれは、Aのために働きます少数の日付ですが、数ヶ月または数年にわたる範囲ではうまく動作しません。
は 'show create table myTableName'の出力を示しています...あなたは' DATE'または 'DATETIME'形式ではないと思います。左結合のためにHelperテーブルが必要なように思えます。このヘルパーテーブルの回答を参照してください[Here](http://stackoverflow.com/a/37739514)。永久ヘルパーテーブルはスケールします。 – Drew