MySQL: ограничение количества полученных результатов на основе значения столбца | Объединение запросов

Я провел исследование этой проблемы, но у меня проблемы с поиском решения.

У меня есть следующий запрос, который дает мне список «some_id» s:

SELECT some_id FROM example GROUP BY some_id 

И у меня есть следующий запрос, который получит список из 5 последних записей для строки, которая имеет «some_id», равную числу.

 SELECT * FROM example WHERE some_id = 1 ORDER BY last_modified DESC LIMIT 5 

Как я могу получить 5 самых последних записей из таблицы «пример» для каждого «some_id», используя только один запрос? Если для «some_id» есть менее 5 записей, их можно включить, если это делает вещи менее сложными.

Большое спасибо!

Нашел ответ, посмотрев первый ответ в следующем сообщении:

Как ограничить количество строк для значения поля в SQL?

Я изменил его, чтобы он соответствовал моим конкретным потребностям:

 SELECT * FROM ( SELECT *, @num := if(@some_id = some_id, @num := @num + 1, 1) as row_num, @some_id := some_id as some_id FROM example ORDER BY last_modified DESC ) as e WHERE row_num <= 5 

Привет, Пожалуйста, используйте Group by и having clause для лимита проверки для каждого идентификатора.

 SELECT * FROM `example` GROUP BY some_id HAVING count( * ) <= 5 ORDER BY last_modified DESC 

Он будет проверять для каждого some_id и проверять, будет ли number of rows for some_id is <=5 тогда это будет результат отображения.