当前位置: 代码迷 >> Oracle开发 >> 只用SQL 能实现这个查询吗
  详细解决方案

只用SQL 能实现这个查询吗

热度:55   发布时间:2016-04-24 06:59:14.0
求助 只用SQL 能实现这个查询吗
id        time       code
1         0703        a
1         0702        a
1         0701        b
1         0630        a
2         0703        a
2         0702        a
2         0701        a
2         0630        b
2         0629        b
2         0628        c

.....
有上述表格,要求查询结果是

id        time       code
1         0703        a
1         0701        b
1         0630        a
2         0703        a
2         0630        b
2         0628        c
就是order by id, time. 如果是连续code相同的取time最大的那一行,
其他的都不要。能在一个sql里查询出来吗?

------解决方案--------------------

select t.id,t.time.t.code from
(selet id,time,code,row_number() over(partition by id,code order by time desc) rn
from tab_name) t
 where t.rn=1;
------解决方案--------------------
  相关解决方案