LIMIT stopper kun antallet af resultater, som erklæringen returnerer. Det, du leder efter, kaldes generelt analytiske/vindues-/rangeringsfunktioner - som MySQL ikke understøtter, men du kan efterligne ved hjælp af variabler:
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
Hvis du ikke ændrer SELECT x.*
, vil resultatsættet inkludere rank
og var_category
værdier - du bliver nødt til at angive de kolonner, du virkelig ønsker, hvis dette ikke er tilfældet.