mysql - 在sql中按日期时间分组
问题描述
晕,我想按月(月份开始日期)计算数据和分组,然后显示日期时间,知道吗?
表_a
timestamp
2020-11-28 04:00:00
2020-11-28 05:00:00
2020-12-29 01:00:00
2020-12-29 02:00:00
2020-12-29 03:00:00
预期结果:
timestamp count
2020-11-01 00:00:00 2
2020-12-01 00:00:00 3
我的查询是:
SELECT STR_TO_DATE(DATE_FORMAT(timestamp, '%Y-%m-dd HH'), '%Y-%m-dd HH'), count(*) as count
from table_a
但我的结果是:
timestamp count
2020-11-00 2
2020-12-00 3
解决方案
我用 add 解决了这个问题group by month(timestamp)
,我忽略了记录,重要的是按月分组,这是我的完整查询:
SELECT timestamp, count(*) as count
from table_a
group by month(timestamp)
然后输出显示:
timestamp count
2020-11-01 04:00:00 2
2020-12-01 01:00:00 3
推荐阅读
- java - Apache Ignite 异步方法实际上是如何工作的?
- flutter - 颤动中的自动刷新网页视图
- environment-variables - Next.js:如何为不同的环境使用不同的 env 文件?
- python - Received ValueError: I/O operation on closed file but the data print well
- groovy - 如何在 ReadyAPI 的循环中使用不同的数据发出请求,并且响应应该在另一个文件中生成?
- python - 将 filedialog.askdirectory() 与 tkinter 和 pyglet 一起使用会冻结应用程序
- java - 如何使用 java 或 spring 库使休息服务仅使用 TLS V1.2?
- java - 从方法返回数组作为参数
- vue.js - 使用 ref 的 vue3 性能警告
- reactjs - 删除特定查询的 __typename