LIMIT hanya menghentikan jumlah hasil yang dikembalikan oleh pernyataan. Apa yang Anda cari umumnya disebut fungsi analitik/windowing/peringkat - yang tidak didukung MySQL tetapi Anda dapat meniru menggunakan variabel:
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
Jika Anda tidak mengubah SELECT x.*
, kumpulan hasil akan menyertakan rank
dan var_category
nilai - Anda harus menentukan kolom yang benar-benar Anda inginkan jika tidak demikian.