我有一张这样的表
Ids Part Values
1 1 value1
1 2 value2
2 1 value3
3 1 some other value
4 1 something1
4 2 something else
我想按照ID分组并获取max(part)的值。
我在下面尝试了查询 -
select * from Parts group by Ids having Part = max(Part)
但是这个查询并不总是返回我想要的值。
我希望结果像
一样Ids Part Values
1 2 value2
2 1 value3
3 1 some other value
4 2 something else
你可以帮我查询一下吗?
答案 0 :(得分:3)
试试这个你需要使用自联接并从同一个表中获取最大值来加入
select t1.* from Table1 t1
join
(SELECT MAX(Part) Part ,Ids from Table1 GROUP BY Ids ) t2
on(t1.Ids=t2.Ids and t1.part =t2.Part)