我想从一个时间段(比如一周)中恢复注册的数量,这并不难,但我想知道在 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) 作为 NumberOfRegistrations FROM tbl_profile WHERE DATE(datCreate) > DATE_SUB(CURDATE(),INTERVAL 9 DAY) GROUP 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 内置了这个功能。
提前致谢