Essayez cette requête -
SELECT item_id, item_name, catid FROM
(SELECT t1.*, COUNT(*) cnt FROM items t1
LEFT JOIN items t2
ON t2.catid = t1.catid AND t2.item_id <= t1.item_id
GROUP BY
t1.catid, t1.item_id
) t
WHERE
cnt < 6
-- LIMIT 20
Il affichera les 5 premiers éléments par catégorie. Décommentez LIMIT 20
si tu as besoin. Rejoindre Categories
table si vous avez besoin.