MySQL: Как сгруппировать данные за час и получить последний час

я пытаюсь выполнить запрос, который извлекает данные за час , но вместо обычной группы по часам я хочу сузить его и получить только последний час - самые свежие данные за этот час. На изображении, показанном ниже, я хотел получить ряды с красными прямоугольниками. Если вы заметили, первая красная строка - 10:59:51 , что означает, что это единственная строка, которая находится в пределах 10:00:00 и 10:59:59 ]. Для остальных строк на 12:00 и выше я хотел получить 12:37:14 , потому что это ' s самый последний или самый новый для этого диапазона часов.

enter image description here

У меня есть простой запрос, который группирует данные по часам с использованием HOUR () , например:

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 , который возвращает id 24 и 25 , но мне нужно было id 24 и 28 . Есть идеи?

9
задан tradyblix 26 May 2011 в 10:21
поделиться