Existem muitas alternativas para resolver isso, uma que eu recomendo é juntar uma subconsulta que obtém separadamente o
ID
mais recente (assumindo que a coluna é AUTO_INCREMENT
edição ) para cada store_ID
. 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
para um melhor desempenho, certifique-se de ter um índice nestas colunas:
ID
e store_id
. ATUALIZAÇÃO 1
se você quiser ter limite para todos os registros, use isso abaixo,
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;