【发布时间】:2019-05-07 18:31:10
【问题描述】:
我需要在我的查询中设置一个间隔,而不是从另一个范围获取数据。
例如:
1º间隔:18:00
2º间隔:18:14
3º间隔:18:29
4º间隔:18:44
5º 间隔:18:59...
我正在使用此查询来获取间隔和分组..
SELECT date_format(data,"%Y-%m-%d") as data,
date_sub(date_format((sec_to_time(time_to_sec(data)- time_to_sec(data)%(15*60))),"%H:%i"), interval 1 second) AS intervals,...
但间隔会恢复
1º间隔:18:00
2º间隔:18:15
3º间隔:18:30
4º间隔:18:45...
在这些区间中,它们最终会获取属于其他区间的数据。
真正的问题是:
将以两个不同的间隔重复信息
【问题讨论】:
-
我觉得这个问题不难,但是很难理解。为什么包含日期的东西的名称为“数据”?这很令人困惑。即使您的查询很长,我也只看到一个间隔。其他的从哪里来?从分组?有什么问题?我想说的是,有足够多的人看到你的问题,他们只是不知道如何处理它。
-
我附上了一张图片试图说明问题,是的,不需要完整的查询
-
您想要“18:14”还是“18:14:59”?如果是前者,只需使用
minute间隔。如果是后者,可能只是显示问题(或您使用 date_format 的副作用)。或者,假设结果在其他地方用于 BETWEEN 子句,只需将x BETWEEN something and this更改为x >= something AND x < this。如果您删除“-1 秒”部分,这甚至会处理可能从18:14:59.000和18:15:00.000之间的洞中掉下来的东西。