首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >MySQL -如何按周聚合并选择每周的第一天?

MySQL -如何按周聚合并选择每周的第一天?
EN

Stack Overflow用户
提问于 2013-05-23 21:07:58
回答 2查看 1.5K关注 0票数 1

使用此查询:

代码语言:javascript
运行
AI代码解释
复制
SELECT 
  fulfilled_at, 
  ROUND(SUM(adjusted_total_charge), 2) as val, 
  WEEK(fulfilled_at) as week 
FROM purchases 
WHERE fulfilled_at >= '2013-02-23 16:59:54 -0500' 
  AND fulfilled_at <= '2013-05-22 16:59:54 -0400'  
GROUP BY YEAR(fulfilled_at), WEEKOFYEAR(fulfilled_at)  
ORDER BY fulfilled_at ASC

我得到的结果是:

代码语言:javascript
运行
AI代码解释
复制
2013-02-24 14:03:29 5570.00     8
2013-02-27 04:15:46 67354.25    8
2013-03-05 13:53:28 45298.00    9
2013-03-11 13:54:59 40751.80    10
2013-03-18 16:12:27 42863.25    11
2013-03-27 14:16:25 35449.45    12
2013-04-02 13:23:58 46326.75    13
2013-04-08 05:25:55 35905.45    14
2013-04-15 15:50:12 28910.19    15
2013-04-22 18:42:10 31960.00    16
2013-04-29 23:37:51 36610.10    17
2013-05-06 15:57:23 24511.40    18
2013-05-16 22:32:29 20675.20    19
2013-05-20 18:17:49 9343.00     20

请注意,显示的fulfilled_at不是来自一周中的某一天,因此间隔不是7天。我希望日期间隔7天,最好是从每周的星期一开始。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-23 21:19:34

对我的评论进行扩展

代码语言:javascript
运行
AI代码解释
复制
SELECT STR_TO_DATE(concat(year(fulfilled_at), 
    weekofyear(fulfilled_at),' Monday'), '%X%V %W')
from purchases 

要演示的fiddle

票数 2
EN

Stack Overflow用户

发布于 2013-05-23 21:18:28

这是因为您没有指定要从按YEAR(fulfilled_at), WEEKOFYEAR(fulfilled_at)分组的集合中选择哪个fulfilled_at。在该集合中有nfulfilled_at日期,且MySQL只选择第一个日期。

如果每周的第一天碰巧有fulfilled_at日期,那么它们只能相隔7天。

我还注意到,在GROUP BY子句中使用的是WEEKOFYEAR函数,而select使用的是WEEK函数。这是故意的吗?WEEK(date[,mode])函数允许您指定将一周中的哪一天视为第一天,模式值1表示星期一。

From MySQL Documentation on WEEKOFYEAR

WEEKOFYEAR(日期)

以1到53范围内的数字形式返回日期的日历周。WEEKOFYEAR()是一个兼容函数,等同于WEEK(date,3)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16723903

复制
相关文章
MySQL中DATETIME与TIMESTAMP
真理永远都不过时,今天由于工作的事情涉及到了这里,印象中只记得DATETIME类型占用8字节,TIMESTAMP类型占用4字节,心想这么久没有更新的知识万一过时了咋办,毕竟MySQL8都有了,于是翻开了MySQL的官网,决定查一查这两个字段的区别。
江湖安得便相忘
2019/08/21
2.6K0
MySQL中DATETIME与TIMESTAMP
真理永远都不过时,今天由于工作的事情涉及到了这里,印象中只记得DATETIME类型占用8字节,TIMESTAMP类型占用4字节,心想这么久没有更新的知识万一过时了咋办,毕竟MySQL8都有了,于是翻开了MySQL的官网,决定查一查这两个字段的区别。
暮雨
2019/10/11
2.2K0
【Mysql】MySQL中 TIMESTAMP类型 和 DATETIME类型 的区别
TIMESTAMP:把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。
瑞新
2020/12/07
5.1K0
MySQL 中 datetime 和 timestamp 的区别与选择
MySQL 中常用的两种时间储存类型分别是datetime和 timestamp。如何在它们之间选择是建表时必要的考虑。下面就谈谈他们的区别和怎么选择。
用户6182664
2019/11/20
20.7K0
Python中Datetime的使用
每次使用python处理datetime数据的时候,我总需要在书上查找或者网上搜索,使用后就很快忘记了,所以在这里整理出来一些常用方法。
AIFEx
2023/09/28
2610
Python中Datetime的使用
mysql中Timestamp,time,datetime 时间区别
时间范围:1970-01-01 00:00:00——2037年。 适用场景:TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间。 表现形式:TIMESTAMP值返回后显示为’YYYY-MM-DD HH:MM:SS’格式的字符串 扩展: 如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。 也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。 显示宽度固定为19个字符。如果想要获得数字值,应在TIMESTAMP 列添加+0。
瑞新
2020/07/08
1.7K0
MySQL中timestamp和datetime,你用的对么?
在MySQL中,时间是咱们用到最多的类型,建表时,对于时间字段类型的选择,你是如何选择的呢?有人会说timestamp,也有人会说datetime,那么我们到底如何选择呢,它们又有什么区别?今天就和大家一起来看看。
xcbeyond
2020/03/25
3.4K0
MySQL中timestamp和datetime,你用的对么?
Python标准库datetime中4种基本对象的用法
1)创建日期时间、日期、时间、时间差对象: 2)生成时间序列: 3)日期时间对象与字符串之间的转换: 4)其他常见运算
Python小屋屋主
2020/11/11
5760
Python标准库datetime中4种基本对象的用法
Python中的Time和DateTime
Python在处理与时间相关的操作时有两个重要模块:time和datetime。在本文中,我们介绍这两个模块并为每个场景提供带有代码和输出的说明性示例。
deephub
2023/08/30
2010
Python中的Time和DateTime
Eclipse中java获得mysql的查询结果集
本文介绍了在Java中如何获取MySQL数据库的查询结果集,并对代码进行了详细的解释和注释。包括使用DriverManager类来加载数据库驱动、使用Connection对象创建与数据库的连接、使用Statement对象创建SQL语句、使用ResultSet对象获取查询结果集、使用next()方法遍历结果集、使用getXXX()方法获取结果集中的数据以及使用close()方法关闭数据库连接。
别先生
2017/12/29
5K0
Eclipse中java获得mysql的查询结果集
如何在Java中判断对象的真正“死亡”
在Java编程中,对象的生命周期管理是一项重要的任务。当对象不再被使用时,及时释放其占用的内存资源是一个有效的优化手段。而为了准确地判断对象是否真正“死亡”,我们需要理解Java的垃圾回收机制以及对象的引用关系。本文将详细介绍在Java中如何判断对象的真正“死亡”,并提供一些实例来帮助读者更好地理解。
疯狂的KK
2023/07/02
2510
如何在Java中判断对象的真正“死亡”
如何在js中创建对象
七夕临近了,没有对象的来创建一个吧 使用对象字面量: const o = { name: "zehan", greeting() { return `Hi, 我是${this.name}`; } }; o.greeting(); // "Hi, zehan" 使用构造函数: function Person(name) { this.name = name; } Person.prototype.greeting = function () { return `Hi, 我是
ZEHAN
2020/09/23
7.8K0
【MySQL基础】Mysql获得当前日期的所在月的第一天
尊重劳动成果,请访问CSDN著者原文链接 http://blog.csdn.net/zixiao217/article/details/51908506
青山师
2023/05/04
8250
MySQL 8.0中DATE,DATETIME和 TIMESTAMP类型和5.7之间的差异
MySQL中DATE,DATETIME和 TIMESTAMP类型都和时间有关。本文介绍MySQL 8.0和MySQL 5.7之间的差异;本文MySQL实验环境为8.0.23;
SEian.G
2021/04/29
7.5K0
如何在dos中操作xampp中的mysql数据库
方法1: 直接进入安装xampp中mysql中的bin文件夹进入mysql操作,具体如下: D:\software\xampp\mysql\bin>mysql mysql> show databases; 这样就可以直接进入进行操作了。 方法2: 上面的方法在每次从dos中进入mysql比较麻烦,所以我们就需要通过环境变量来设置,具体如下: 复制D:\software\xampp\mysql\bin,将其加入到环境变量的path中即可。
闵开慧
2018/03/30
5.2K0
Java DateTime 获得当前 Unix 的时间戳
获得当前日期时间的毫秒数,这个毫秒数是从 1970-01-01T00:00:00Z 开始计算的。
HoneyMoose
2020/10/30
2.1K0
Java DateTime 获得当前 Unix 的时间戳
如何在 JS 中“深冻结”对象?
1.如果咱们想要确保对象被深冻结,就必须创建一个递归函数来冻结对象类型的每个属性:
程序狗
2021/09/15
1.7K0
点击加载更多

相似问题

Java数据可视化

36

在java中可视化HashTable

25

eclipse中的java数据可视化软件

20

阶乘递归在java中“可视化”

12

在python中可视化数据

247
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档