select id,name,"order" from ( select id,name,"order",rank() over(partition by id order by "order" desc) rn from test ) where rn=1
楼主这句已经很好了,要想优化提高效率可以在索引等上研究如在id ,order上建索引。如果楼主能保证order列是严格按分组排序的那么也可以用下面这句select a.* from test a,(select max(rowid) no from text group by "ORDER") b where a.rowid=b.no;
ORARichard(没钱的日子好难过啊) 都说清楚了!
select id, max(order) from test group by id order by id;
(
select id,name,"order",rank() over(partition by id order by "order" desc) rn from test
)
where rn=1
from test
group by id
order by id;