LIMIT спира само броя резултати, които инструкцията връща. Това, което търсите, обикновено се нарича аналитични/прозорци/функции за класиране - които MySQL не поддържа, но можете да емулирате с помощта на променливи:
SELECT x.*
FROM (SELECT t.*,
CASE
WHEN @category != t.category THEN @rownum := 1
ELSE @rownum := @rownum + 1
END AS rank,
@category := t.category AS var_category
FROM TBL_ARTIKUJT t
JOIN (SELECT @rownum := NULL, @category := '') r
ORDER BY t.category) x
WHERE x.rank <= 3
Ако не промените SELECT x.*
, наборът от резултати ще включва rank
и var_category
стойности - ще трябва да посочите колоните, които наистина искате, ако това не е така.