BeWithYou

胡搞的技术博客

  1. 首页
  2. 运维/工具
  3. MySQL分组后获取每组特定列最大值的记录

MySQL分组后获取每组特定列最大值的记录


MySQL分组后获取每组特定列最大值的记录

如果只是获取特定列的最大值,很简单。

SELECT MAX(price) FROM tb_stuff GROUP BY shop_id;

但是这里我们要获取每一组符合最大值的记录完整值,这里用个黑科技,先子查询内部排序以后,再从外部分组查询。

SELECT *,tmp.id as id FROM (SELECT * FROM tb_stff ORDER BY price DESC) tmp GROUP BY tmp.shop_id;

这样就可以啦。如果需要限制条件或者联表的话,只需要在相应的位置补充即可。

回到顶部