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值-如果不是这种情况,则必须指定您真正想要的列。



