mysql 本日、本周、本月、本年 统计

大家注意这里的 sql 统计的是 “本周”不是 “过去一周”

例如:今天是周三,统计的是本周一到周日这个时间段,而不是上周三到本周三这 7 天

* 所有 sql 中的 date 为我们对应表的 日期字段

本日

select * from demo
where date =date(now())

本周

通常,一年的正常年份为365天,闰年为366天。一年又可以分为许多周,每周有7天。 所以一年,我们经常有365/7 = 52周,周范围是从1到52。

这里需要注意,mysql 中的 week 函数,第二个参数是 mode,默认不传是 0 也就是从上周日开始算 7 天,按中国习惯我们传 1,从周一开始算就行

模式星期的第一天范围星期 1 是第一天
0Sunday0-53一年中多一个星期天
1Monday0-53一年多3天
2Sunday1-53一年中多一个星期天
3Monday1-53一年多3天
4Sunday0-53一年多3天
5Monday0-53一年中多一个星期一
6Sunday1-53一年多3天
7Monday1-53一年中多一个星期一
# 1-7
select * from demo
where year(date) = year(now()) and week(date,1) = week(now(),1)

# 0-6
select * from demo
where year(date) = year(now()) and week(date) = week(now())

本月

select * from demo
where year(date) = year(now()) and month(date) = month(now())

本年

select * from demo
where year(date) = year(now())

感谢您的阅读,欢迎点赞、关注、收藏!如果文章中有任何错误,或者您有更好的理解和建议,也欢迎和我联系!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值