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