Ну, в большинстве реализаций SQL есть ключевое слово: LIMIT <#>, которое вы можете использовать в конце вашего запроса, заменив # на количество отображаемых строк.Я не знаю, как вы отформатировали свои данные, но если вы отбросите их в конце запроса, этого будет достаточно.
Вы не можете использовать предложение GROUP BY, потому что тогда оно будет отображать только один элемент вгруппа.Тем не менее, вы также можете использовать предложение ORDER BY, и это можно использовать для более чем одного элемента.Например ...
SELECT * FROM table ORDER BY category DESC,subCategory DESC LIMIT 5;
Если вы хотите отобразить только 5 лучших из каждой категории, вы не сможете сделать это с помощью одного запроса.