【发布时间】:2011-07-01 12:04:01
【问题描述】:
我是这个论坛的新手。我在构建 MySQL 查询时遇到了麻烦。基本上我想选择数据并使用某种函数以某种方式输出时间戳字段。我知道 dateformat 可以按分钟、天、小时等执行此操作。但请考虑以下几点:
假设现在是下午 12 点 59 分。我希望能够选择过去一天的数据,并根据其时间戳将数据放入两个小时宽的时间“箱”中。
因此,这些箱将是:上午 10:00、上午 8:00、上午 6:00、上午 4:00 等,并且查询将在这些箱之一中转换数据的时间戳。
例如。
数据转换
凌晨 4:45 变为凌晨 4:00,
早上 6:30 变成早上 6:00,
上午 9:55 变为上午 8:00,
上午 10:03 变为上午 10:00,
上午 11:00 变为上午 10:00
有意义吗?垃圾箱的宽度也需要是动态的。我希望我清楚地描述了这个问题,并感谢任何帮助。
【问题讨论】:
-
可以使用
INTERVAL或仅使用FLOOR完成垃圾箱。GROUP BY FLOOR(hour/binsize)*binsize应该可以帮助您入门。 -
酷,谢谢。我也想按月执行此操作,其中 binsize 不一定是静态的。