最近有个项目需要一个查询本周的七天,分别每天的数据条数,效果类似于
数据库:
虽然可以分开写,每天一个查询,但是这样就会很麻烦,不如直接一条出结果,于是我研究许久后得出SQL语句,我的表名为ss_statis,字段为addtime
代码1:
Db::query(" SELECT addtime,COUNT(1) FROM ss_statis GROUP BY WEEKDAY(addtime);");
//时间表达与第一种不同,但结果相同
Db::query(" SELECT WEEKDAY(addtime),COUNT(1) FROM ss_statis GROUP BY WEEKDAY(addtime);");
代码2:
Db::query("SELECT WEEKDAY(addtime),COUNT(1) FROM ss_statis WHERE addtime>=FROM_UNIXTIME(UNIX_TIMESTAMP() - WEEKDAY(NOW()) * 86400, '%Y-%m-%d') GROUP BY addtime;");
Db::query("SELECT addtime,COUNT(1) FROM ss_statis WHERE addtime>=FROM_UNIXTIME(UNIX_TIMESTAMP() - WEEKDAY(NOW()) * 86400, '%Y-%m-%d') GROUP BY addtime;");
效果
没 有WEEKDAY 有WEEKDAY
通过数据得知值是从周一开始的
数据条数不够所以效果没有展示的特别全面,但是看表中只有08-30的数据,但是没有查询出来,所以这样就可以达到我想要的效果了