MySQL:如何每小时对数据进行分组并获得最新的小时数
||
我正在尝试执行一个查询,该查询每
hour
提取数据,但不是按小时分组,而是要缩小范围,仅获取latest
小时-表示该小时内的最新数据。下面显示的图片是我想要得到的带有红色框的行。如果您会注意到,第一行红色是10:59:51
,这表示它是唯一在10:00:00
和10:59:59
之内的行。对于12:00
及以上的其余行,我想得到12:37:14
,因为它是该小时范围内的最新或最新信息。
我有一个简单的查询,使用HOUR()
将数据按ѭ0分组,例如:
SELECT userid, username, date_created
FROM user_accounts
WHERE date_created >= \'2009-10-27 00:00:00\' AND date_created < \'2009-10-27 23:59:59\'
GROUP BY HOUR(date_created)
但是,查询只是按小时10
和12
分组,返回ID24
和25
-但我需要的是id24
和28
。有任何想法吗?
没有找到相关结果
已邀请:
5 个回复
念炯
纫合峭
田损比报
同样,如果您想跨越多天,我也将date分组,只需确保您的表在date_created上创建了索引即可,或者至少在索引的第一位。
茶鬼失形
编辑: 嗯,现在我想我就会得到您想要的...日期范围之间每隔指定小时的最后添加的条目? 如果是这样,那么Codler的查询就是您想要的。
嗜蒂谷尘旱
希望这对某人有帮助。