У меня есть представление, которое используется для создания отчетов каждые несколько часов. Представление группирует записи в 5-минутные интервалы для целей отображения. Из-за объема данных я хочу ограничить количество записей в каждом 5-минутном интервале.
Для отчета, основанного на более чем часе, будет 12 групп, и я хочу ограничить данные в каждой группе только 100 записями на группу.
Я пытался использовать HAVING с подсчетом на временном интервале, но это не ограничивало общее количество на группу
Каков наилучший способ приблизиться к этому
Мой взгляд
SELECT
FROM_UNIXTIME((FLOOR((UNIX_TIMESTAMP(`r`.`created_at`) / 300)) * 300)) AS `time`,
`u`.`picture_url` ,
`u`.`username`,
`rc`.`desc` ,
`r`.`report_uid`
FROM
`records` `r`
JOIN `record_content` `rc` ON `rc`.`record_id` = `r`.`id`
JOIN `users` `u` ON `r`.`id` = `u`.`author_id`
GROUP BY `time` , `r`.`report_uid` , `u`.`picture_url` , `u`.`username` , `rc`.`desc`