首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

如何样用最短的sql,取到一个组里最后的一列值

2013-10-17 
怎么样用最短的sql,取到一个组里最后的一列值数据如下:工单号完成时间毫秒值0000011355662903000001135566

怎么样用最短的sql,取到一个组里最后的一列值
数据如下:
工单号         完成时间毫秒值
000001         1355662903
000001         1355662904
000001         1355662905
000002         1355662907
000002         1355662908

我想取到000001         1355662905和000002         1355662908,也就是相同工单号里,完成时间最大的值。

sql如下:


select c1, c2 from table1


这个sql要集成到另一个大sql里,而且要根据条件拼接。能不能用个函数或者什么最简单的方法取到我要的值,谢谢!
[解决办法]

select c1,c2,c3...
from
(
    select c1,c2,c3..,
           row_number() over(partition by c1 order by c2 desc) rn
    from table1
)
where rn = 1

热点排行