分类(Oracle)
Oracle 分析函数:ROW_NUMBER() OVER(PARTITION BY ID ORDER BY VERSION DESC)
2009/03/02 09:35
练习题:
如下表,我要查询每个ID的最高版本以及最高版本的前一版本,该怎么写呢?
ID 版本 属性
001 A red
001 B green
001 C brown
002 A red
002 B blue
想输出:
ID 版本 属性
001 B green
001 C brown
002 A red
002 B blue
答案:
SELECT ID,VERSION,ATTRIBUTE,RN-1 AS DD FROM
(
SELECT
ID
,VERSION
,ATTRIBUTE
,ROW_NUMBER() OVER(PARTITION BY ID ORDER BY VERSION DESC NULLS LAST) AS RN
FROM TEMP070522
)
WHERE RN<=2 ORDER BY ID
来自:本站原创
相关日志:
+引用(0) |
发表评论
| 昵称 密码 游客无需密码 |
| 网址 电邮 注册 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
验证码 请输入左侧图片中的字符
记住我







