数据库查询本周七天,分别统计

本文分享了一种使用SQL高效查询一周内每天数据条数的方法,避免了逐日查询的繁琐。通过示例代码展示了如何从表ss_statis中,基于addtime字段,统计过去七天每天的数据记录数,结果按周几(WEEKDAY)进行分组。这两种SQL语句可以实现相同的效果,即使得查询结果以周一为起始日显示一周的数据分布。
摘要由CSDN通过智能技术生成

最近有个项目需要一个查询本周的七天,分别每天的数据条数,效果类似于

数据库:

 

虽然可以分开写,每天一个查询,但是这样就会很麻烦,不如直接一条出结果,于是我研究许久后得出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的数据,但是没有查询出来,所以这样就可以达到我想要的效果了

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

solitaire.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值