LIMIT n'arrête que le nombre de résultats renvoyés par l'instruction. Ce que vous recherchez est généralement appelé fonctions analytiques/fenêtrage/classement - que MySQL ne prend pas en charge mais que vous pouvez émuler à l'aide de variables :
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
Si vous ne modifiez pas SELECT x.*
, le jeu de résultats inclura le rank
et var_category
valeurs - vous devrez spécifier les colonnes que vous voulez vraiment si ce n'est pas le cas.