mysql查询返回 1_mysql – SELECT查询从每个组返回1行

有很多替代方法可以解决这个问题,我建议加入一个子查询,它为每个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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值