ある期間 (たとえば 1 週間) から登録数を取得したいのですが、これはそれほど難しいことではありませんが、MySQL で登録がない日にゼロを返すことができるかどうか疑問に思っていました。登録。
例: データ:
ID_Profile データ作成 1 2009-02-25 16:45:58 2 2009-02-25 16:45:58 3 2009-02-25 16:45:58 4 2009-02-26 10:23:39 5 2009-02-27 15:07:56 6 2009-03-05 11:57:30
SQL:
選択する DAY(datCreate) を登録日として、 COUNT(ID_Profile) as NumberOfRegistrations FROM tbl_profile WHERE DATE(datCreate) > DATE_SUB(CURDATE(),INTERVAL 9 DAY) GROUP BY 登録日 ORDER BY datCreate ASC;
この場合、結果は次のようになります。
登録日登録数 25 3 26 1 27 1 5 1
明らかに、私はその間に数日行方不明です。現在、PHPコードでこれを解決していますが、MySQLが欠落している日/行に対して自動的に0を返す方法があるかどうか疑問に思っていました. これは望ましい結果です。
登録日登録数 25 3 26 1 27 1 28 0 1 0 2 0 3 0 4 0 5 1
このように、MySQL にはこの機能が組み込まれているため、毎月の日数を計算するために PHP コードに頼る代わりに、MySQL を使用して 1 か月の日数に関する問題を解決できます。
前もって感謝します