首页 > 数据库技术 > 详细

mysql 之group by 后取每一组最大的一行值

时间:2020-11-19 18:27:17      阅读:121      评论:0      收藏:0      [点我收藏+]
1. 需求:分组后得到id =3 和id =6 的行数
技术分享图片

 

 

技术分享图片
技术分享图片
 
技术分享图片
技术分享图片
2.解决(sql)
方法一:
-- 将符合条件的id 放在where条件后 

SELECT
	id,
	A,
	B 
FROM
	test AS a 
WHERE
	id IN ( SELECT max( b.id ) AS id FROM test AS b GROUP BY b.A )

  

结果:
技术分享图片
 技术分享图片

 

 

技术分享图片
方法二
-- 将符合条件的id 作为子查询 连接自己
SELECT
	a.id,
	a.A,
	a.B 
FROM
	test AS a
	INNER JOIN ( SELECT max( b.id ) AS id FROM test AS b GROUP BY b.A ) c ON a.id = c.id

  

结果:
技术分享图片
 技术分享图片

 

 

 

mysql 之group by 后取每一组最大的一行值

原文:https://www.cnblogs.com/dw-date/p/14006776.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!