2019独角兽企业重金招聘Python工程师标准>>>

今天碰到一个问题,说在 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周。

转载于:https://my.oschina.net/u/171278/blog/217628

Mysql 中,WEEK 与YEARWEEK函数的参数问题相关推荐

  1. MySQL中常用日期时间函数及获得

    MySQL中常用日期时间函数: 下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql> SELECT something FROM table WHERE TO_DA ...

  2. mysql 中常用的聚合函数的使用

    mysql 中常用的聚合函数的使用 文章目录 1 count 函数 2 sum 函数 3 avg 函数 计算平均值 4 max 和min 函数 求最大值 ,最小值 总结 参考文档: 什么是聚合函数: ...

  3. mysql中from unixtime,mysql中FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别

    摘要 腾兴网为您分享:mysql中FROM_UNIXTIME()和UNIX_TIMESTAMP()函数的区别,作业大师,智慧大学,优化大师,先游等软件知识,以及流星蝴蝶剑,升学指导网软件,承德大宗,q ...

  4. MySQL 中的常用日期函数

    MySQL 中的常用日期函数: 函数 描述 NOW() 返回当前的日期和时间 CURDATE() 返回当前的日期 CURTIME() 返回当前的时间 DATE() 提取日期或日期/时间表达式的日期部分 ...

  5. 聊一聊Mysql中的字符串拼接函数

    生死看淡,上来就干! 简单来说,Mysql中的字符串拼接函数主要有三个,分别是CONCAT().CONCAT_WS()以及GROUP_CONCAT():废话不多说,下面就每个函数具体来看一下: 1.C ...

  6. MySQL中常见的单行函数(下)

    MySQL中常见的单行函数(下) 一.转换函数 Date_format(date,format) 将日期转换成字符串(类似Oracle中的to_char()) Str_to_date(str,fo ...

  7. java:去除字符串中空格 、 oracle (+) 、 mysql中数值运算符和函数

    java:去除字符串中空格 http://www.cnblogs.com/LiuChunfu/p/5661810.html oracle:oracle (+) https://zhidao.baidu ...

  8. MySQL中AES_ENCRYPT('密码','钥匙')函数 可以对字段值做加密处理

    MySQL中AES_ENCRYPT('密码','钥匙')函数 可以对字段值做加密处理        AES_DECRYPT(表的字段名字,'钥匙')函数 解密处理 例,表结构: 现在插入一条数据,对p ...

  9. mysql 创建带参数的存储过程_在MySQL中创建带有IN和OUT参数的存储过程的方法

    在 MySQL 中创建储存过程的语法很难记,除非你经常跟储存过程打交道,原因很简单,语法不是什么小笑话.如果你通过命令行控制 MySQL,你需要记住准确的语法.一个快速示例可以很好的帮助你做到这点.在 ...

  10. Mysql中rank类的函数用法

    Mysql中rank类的函数用法 rank() over 作用:查出指定条件后的进行排名,条件相同排名相同,排名间断不连续. 说明:例如学生排名,使用这个函数,成绩相同的两名是并列,下一位同学空出所占 ...

最新文章

  1. 杭州程序员吐槽:月薪1.3万,结婚需要给女方彩礼35-40万,直呼结不起!网友回复:娶老婆还是娶祖宗?...
  2. [解决方案记录]No module named fused(stylegan2的bug,已更新)
  3. 在敏捷中应用测试驱动开发
  4. 浏览器title中的小图标0927 0928
  5. 按钮图片拉伸_图片墙有多香?高手都在用的PPT封面制作技巧!
  6. Java数据库篇3——SQL
  7. php对引用的简单理解
  8. 【solr基础教程之中的一个】Solr相关知识点串讲
  9. SLAM学习笔记-------------(二)初识SLAM
  10. robocode_Robocode大师的秘密,多态敌人缓存
  11. Hadoop3+Hive3安装记录(虚拟机搭建分布式环境,报错解决)
  12. win10+Ubuntu双系统设置默认系统启动项为win10
  13. 三大运营商网络使用频段及随身wifi选用
  14. speedpdf——PDF转PPT免费在线转换还不限制页数哦
  15. 为什么需要工作流调度系统?
  16. jQuery选择器ID、CLASS、标签获取对象值、属性、设置css样式
  17. 计算机与网络应用word题目解析,计算机二级word真题:《计算机与网络应用》教材的编排...
  18. Unity中OnRenderImage屏幕后处理做Graphics.blit时遇到的一个问题
  19. 剑指offer纪念版 何海涛著 部分纠正
  20. html网页制作注意事项,使用网页设计模板的注意事项-

热门文章

  1. Hyper-V 3.0部署PART 14:准备仲裁磁盘
  2. c++文件操作一一读取文件内容
  3. 中信国健临床通讯2011年7月期目录
  4. php中函数的定义格式,在php中函数定义的格式
  5. Tungsten Fabric SDN — Service Chain — HA/LB
  6. FD.io/VPP — 流量追踪
  7. Openstack 实现技术分解 (1) 开发环境 — Devstack 部署案例详解
  8. TCP/IP协议概述
  9. Amazon Aurora是如何设计原生云关系型数据库的?
  10. Linux下root修改密码报错解决方案