私はチャート目的でこれが必要です。基本的には、私はしなければならない:MySQLの結果セットに「偽の」行を生成する方法はありますか?
- 送信日時ですべてのSMSを日付で選択すると、日付/カウントのペアが日ごとに配列されます。
- 私のテーブルに何も記録されていない日に "偽の"行を追加すると、すべての日付 "ギャップ"がゼロで埋められます。
例の結果と対応するテーブル(ここでは単純化)は次のようになります。これを行うか、私は手動でPHPの配列と一緒に遊んでください必要がありますのための任意のSQLコマンドが
array(
'2012-05-26 00:00:00' => 1,
'2012-05-27 00:00:00' => 0, // Fake added row
'2012-05-28 00:00:00' => 2,
)
+----------------+----------------------+
| Table SMS | id | sent_at |
+----------------+----------------------+
| | 1 | 2012-05-26 21:58:41 |
+----------------+----------------------+
| | 2 | 2012-05-28 22:19:21 |
+----------------+----------------------+
| | 3 | 2012-05-28 02:19:21 |
+----------------+----------------------+
ありますか?
これにはどのような理由がありますか? –
@ColeJohnsonいくつかの図書館図書館では、例えば折れ線グラフを得るためにタイムスタンプ(x軸)と値(y軸)を指定する必要があります。私は送信されたSMSだけを保管しているので、日付の隙間を埋める必要があります。 – gremo
これは、配列を作成するwhileループにあり、日付範囲の配列から次の日付を確認し、必要に応じて挿入します。 –