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


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

  

结果:
 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM