0
点赞
收藏
分享

微信扫一扫

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


Sql 本日、本周、本月、本年 统计_sql

 

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

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

Sql 本日、本周、本月、本年 统计_1024程序员节_02

 

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

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

本周

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

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

模式 星期的第一天 范围 星期 1 是第一天
Sunday 0-53 一年中多一个星期天
Monday 0-53 一年多3天
Sunday 1-53 一年中多一个星期天
Monday 1-53 一年多3天
Sunday 0-53 一年多3天
Monday 0-53 一年中多一个星期一
Sunday 1-53 一年多3天
Monday 1-53 一年中多一个星期一

select * from test
where year(date) = year(now()) and week(date,1) = week(now(),1)

select * from test
where year(date) = year(now()) and week(date) = week(now())

Sql 本日、本周、本月、本年 统计_mysql_03


 

本月

 

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

 
本年

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

 

举报

相关推荐

0 条评论