mysql yearweek 日期不准_Mysql 中,WEEK 与YEARWEEK函数的参数问题
今天碰到一个问题,说在 mysql 里面, 要按周统计, 周的计算,是从 每周一到周日。
简单了写了下
SELECT
WEEK ( date )
SUM ( sale )
FROM
表
GROUP BY
WEEK( date );
发现 默认情况下, 这个 WEEK ( 日期 ) 是 每把周日,作为一周的开始。
去查询了一下手册,看到这个 WEEK 函数, 还可以额外再跟一个 参数。
这个参数决定了, 使用星期几,来作为 一周的开始。
以及用什么样的逻辑,来计算 一年里面, 第一周的计算方式。
这个参数的描述如下:
参数值
每周第一天
是星期几
返回值
范围
第一周是怎么计算的?
0
星期天
0-53
遇到本年的第一个星期天开始,是第一周。
前面的计算为第0周。
1
星期一
0-53
假如第一周能超过3天,那么计算为本年的第一周。否则为第0周
可以理解为
如果1月1号~4号是星期一,那么本年第一周开始。(之前的是第零周)
如果1月5号以后是星期一,那么现在开始,是本年的第二周了,之前的是第一周。
2
星期天
1-53
遇到本年的第一个星期天开始,是第一周。
前面的计算为上年度的第5x周。
3
星期一
1-53
假如第一周能超过3天,那么计算为本年的第一周。否则为上年度的第5x周。
可以理解为
如果1月1号~4号是星期一,那么本年第一周开始。(之前的是第5x周)
如果1月5号以后是星期一,那么现在开始,是本年的第二周了,之前的是第一周。
4
星期天
0-53
假如第一周能超过3天,那么计算为本年的第一周。否则为第0周
可以理解为
如果1月1号~4号是星期天,那么本年第一周开始。(之前的是第零周)
如果1月5号以后是星期天,那么现在开始,是本年的第二周了,之前的是第一周。
5
星期一
0-53
遇到本年的第一个星期一开始,是第一周。
前面的计算为第0周。
6
星期天
1-53
假如第一周能超过3天,那么计算为本年的第一周。否则为上年度的第5x周。
可以理解为
如果1月1号~4号是星期天,那么本年第一周开始。(之前的是第5x周)
如果1月5号以后是星期天,那么现在开始,是本年的第二周了,之前的是第一周。
7
星期一
1-53
遇到本年的第一个星期一开始,是第一周。
前面的计算为上年度的第5x周。
mysql yearweek 日期不准_Mysql 中,WEEK 与YEARWEEK函数的参数问题相关推荐
- mysql timestamp 差值_MySQL中TIMESTAMPDIFF和TIMESTAMPADD函数的用法(两个日期之间的差值)...
MySQL中TIMESTAMPDIFF和TIMESTAMPADD函数的用法 在应用时,经常要使用这两个函数TIMESTAMPDIFF和TIMESTAMPADD. 一,TIMESTAMPDIFF 语法: ...
- mysql存储过程日期类型_mysql中多种日期类型的格式话---用存储过程实现
其中三个参数:数据库名,表名,列名 temp_d_name:数据库名 temp_t_name:表名 temp_c_name:列名 CREATE DEFINER=`root`@`localhost` P ...
- mysql获取当月最后一天_mysql中获取本月第一天、本月最后一天、上月第一天、上月最后一天
mysql获取当月最后一天_mysql中获取本月第一天.本月最后一天.上月第一天.上月最后一天等等 转自: https://blog.csdn.net/min996358312/article/det ...
- mysql sql 时间比较_mysql中sql语句进行日期比较
这里是一个使用日期函数的例子.下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql> SELECT something FROM table WHERE TO_DAY ...
- mysql根据时间回退_MySQL 中的日期时间类型
日期时间类型中包含以下几种数据类型: 各类型都有具体的取值范围,超出或非法的其他值时,MySQL 会回退到 0.TIMESTAMP 类型是个例外,给它设置一个超出范围的值时,将保存上该类型允许的最大值 ...
- mysql 日期相等_mysql中时间比较的实现
MySql中时间比较的实现 unix_timestamp 函数可以接受一个参数,也可以不使用参数.它的返回值是一个无符号的整数.不使用参数,它返回自1970年1月1日0时0分0秒到现在所经过的秒数,如 ...
- mysql时间等于现在_MySQL中的日期时间等于或大于今天
10 个答案: 答案 0 :(得分:280) SELECT * FROM users WHERE created >= CURDATE(); 但我认为你的意思是created < toda ...
- mysql格式化日期成分_MySQL格式化日期
mysql> select FROM_UNIXTIME(1344887103); +---------------------------+ | FROM_UNIXTIME(1344887103 ...
- mysql nextval同步锁_mysql中实现类似oracle中的nextval函数
我们知道mysql中是不支持sequence的,一般是建表的时间使这个字段自增. 如 create table table_name(id int auto_increment prima ...
最新文章
- Linux shell test用法
- 如何正确的在一个循环中删除ArrayList中的元素。
- html页面通过特殊链接:打电话,发短信,发邮件详细教程
- ik分词和jieba分词哪个好_Lucene.net(4.8.0) 学习问题记录五: JIEba分词和Lucene的结合,以及对分词器的思考...
- 软件开发模型_20202021企业软件开发流程(5)软件开发过程模型瀑布模型(2)软件设计、编码...
- Git--可视化管理工具-SourceTree
- 2019美赛备战日记1/18
- Android中经纬度与度分秒互转
- NC文件数据提取完成(1.16)
- html自动跳转页面,HTML实现页面自动跳转的五种方法
- Ansys许可重新配置
- 易语言清空c盘指令,C盘清理命令
- WDS服务--网络安装系统(自动部署装机Windows系统)
- VR/AR/MR/CR/XR概念及应用
- 虚拟华尔街的最新资讯 虚拟经济体的最新经济体
- SQLyog设置唯一
- 《卓有成效的管理者》阅读心得
- 如何利用C语言生成随机数
- 超声波测距,1602显示距离
- c语言范例开发大全DVD,C语言程序开发范例宝典(光盘内容另行下载,地址见书封底)...