有很多替代方法可以解决这个问题,我建议加入一个子查询,它为每个store_ID分别获取最新的ID(假设列为AUTO_INCREMENTed).
SELECT a.*
FROM tableName a
INNER JOIN
(
SELECT store_ID, MAX(ID) max_ID
FROM tableName
GROUP BY store_ID
) b ON a.store_ID = b.store_ID AND
a.ID = b.max_ID
为了获得更好的性能,请确保在这些列上有一个索引:ID和store_id.
更新1
如果你想对每条记录都有限制,请使用下面的,
SELECT ID, product_Name, store_ID
FROM tableName a
WHERE
(
SELECT COUNT(*)
FROM tableName b
WHERE b.store_ID = a.store_ID AND b.ID >= a.ID
) <= 2;