mysql中week()函数是用来做周的统计和计算,返回日期的周数

例如统计今年每周有多少个注册用户

SELECT count(id) as count,week(create_time,1) as weeks FROM user WHERE create_time > ‘2020’ and create_time<‘2011’ GROUP BY weeks;

sql里面的weeks就是第几周

WEEK(date, mode);有两个参数

1、date是要获取周数的日期

2、mode是一个可选参数,用于确定周数计算的逻辑

mode参数比较难理解,下面做个表格解释一下

模式 一周的第一天 范围 说明
0 星期日 0-53
遇到本年的第一个星期天开始,是第一周。前面的计算为第0周。

1 星期一 0-53 假如第一周能超过3天,那么计算为本年的第一周。否则为第0周
2 星期日 1-53 遇到本年的第一个星期天开始,是第一周。
3 星期一 1-53 假如第一周能超过3天,那么计算为本年的第一周。否则为上年度的第5x周。
4 星期日 0-53 假如第一周能超过3天,那么计算为本年的第一周。否则为第0周
5 星期一 0-53 遇到本年的第一个星期一开始,是第一周。
6 星期日 1-53 假如第一周能超过3天,那么计算为本年的第一周。否则为上年度的第5x周。
7 星期一 1-53 遇到本年的第一个星期一开始,是第一周。

————————————————
版权声明:本文为CSDN博主「冷的手发抖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_31670707/article/details/106120970

Logo

更多推荐