Có nhiều lựa chọn thay thế để giải quyết vấn đề này, một trong những cách mà tôi khuyên bạn nên tham gia là tham gia vào một truy vấn con lấy riêng ID
mới nhất ( giả sử rằng cột là AUTO_INCREMENT
ed ) cho mỗi 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
để có hiệu suất tốt hơn, hãy đảm bảo có chỉ mục trên các cột sau:ID
và store_id
.
CẬP NHẬT 1
nếu bạn muốn có giới hạn cho mọi bản ghi, hãy sử dụng phần này bên dưới,
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;