Il existe de nombreuses alternatives pour résoudre ce problème, l'une que je recommande est d'avoir rejoint une sous-requête qui obtient séparément le dernier ID
(en supposant que la colonne est AUTO_INCREMENT
ed ) pour chaque 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
pour de meilleures performances, assurez-vous d'avoir un index sur ces colonnes :ID
et store_id
.
MISE À JOUR 1
si vous voulez avoir une limite pour chaque enregistrement, utilisez ceci ci-dessous,
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;