LIMIT stoppt nur die Anzahl der Ergebnisse, die die Anweisung zurückgibt. Was Sie suchen, wird im Allgemeinen als Analyse-/Windowing-/Ranking-Funktionen bezeichnet - die MySQL nicht unterstützt, aber Sie können sie mit Variablen emulieren:
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
Wenn Sie SELECT x.*
nicht ändern , enthält die Ergebnismenge den rank
und var_category
Werte - Sie müssen die Spalten angeben, die Sie wirklich wollen, wenn dies nicht der Fall ist.