У меня есть список из 9 идентификаторов пользователей, и я хочу выбрать 3 записи для каждого идентификатора пользователя.
Мой текущий запрос выглядит следующим образом.
SELECT * FROM entries WHERE user_id IN (1,2,3,4,5,6,7,8,9) LIMIT 27
У некоторых пользователей имеется более 3 записей, поэтому я хочу ограничить результаты этого запроса 3 записями на пользователя.
Я попытался создать UNION из 9 отдельных запросов, каждый из которых имеет свой собственный предел 3, но на сервере это происходит очень медленно.
Я уже искал ответ на этот вопрос в SO, и я нашел похожие вопросы, но ничего не соответствовало моей проблеме. Есть идеи?