MySql按字段分组取最大值记录


 
要求:获得按table1_id分组,并且age最大的记录信息,即2、3、5条
 
 
方法一:
select * from (select * from table2 order by age desc) as a group by a.table1_id
 
方法二:
select a.* from table2 as a where age = (select max(age) from table2 where a.table1_id=table1_id)
 
方法三:
select a.* from table2 as a where not exists (select * from table2 where table1_id=a.table1_id and age>a.age)
 
方法四:
select a.* from table2 as a where exists (select count(*) from table2 where table1_id=a.table1_id and age>a.age having count(*)=0)

参考资源:http://blog.sina.com.cn/s/blog_8155e74d0101g1pl.html

发布了22 篇原创文章 · 获赞 10 · 访问量 6125

猜你喜欢

转载自blog.csdn.net/qq_28681387/article/details/105366142