我是这个论坛的新手。我在构建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
明白吗?这些“桶”的宽度也需要动态调整。希望我清楚地描述了问题,并且非常感谢任何帮助。
例如:
时间 转换后
上午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
可以让你开始工作。 - Konerak