これを解決するための多くの選択肢があります。私がお勧めするのは、最新のID
を個別に取得するサブクエリに参加することです。 (列がAUTO_INCREMENT
であると仮定します ed )各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
パフォーマンスを向上させるには、次の列にインデックスを付けるようにしてください: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;