gpt4 book ai didi

mysql - 将 MySQL 数据分组到任意大小的时间桶中

转载 作者:IT老高 更新时间:2023-10-28 23:51:00 24 4
gpt4 key购买 nike

如果时间单位是任意的,如何根据每单位时间的时间戳列计算MySQL表中的记录数?

具体来说,我想计算在给定时间间隔内有多少记录的时间戳落入 15 分钟的存储桶中。我了解如何使用 MySQL 日期函数在 1 秒、1 分钟、1 小时、1 天等时间段内执行此操作,例如

SELECT YEAR(datefield) Y, MONTH(datefield) M, DAY(datefield) D, COUNT(*) Cnt FROM mytable GROUP BY YEAR(datefield), MONTH(datefield), DAY(datefield)

但是如何按 15 分钟的存储桶分组?

最佳答案

GROUP BY
YEAR(datefield),
MONTH(datefield),
DAY(datefield),
HOUR(datefield),
FLOOR(MINUTE(datefield)/15)

你也可以这样说:

SELECT FLOOR(UNIX_TIMESTAMP(datefield)/900) AS t, COUNT(*) AS cnt
FROM mytable
GROUP BY t

应用程序负责将每 15 分钟时间段的时间戳格式化为可读的 y/m/d/h/m。 (如果你需要在一个疯狂的非​​一刻钟对齐的时区中使用本地时间,你需要一个 hack 偏移量。)

关于mysql - 将 MySQL 数据分组到任意大小的时间桶中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2579803/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com