甲骨文。如何选择组中的第一行

用户149691

我有看起来像这样的数据 (SELECT * FROM t)

ID | VERSION | ...
====================
1  |    2    | ...
1  |    1    | ...
2  |    3    | ...
2  |    2    | ...
2  |    1    | ...
....

如何为每个唯一 ID 值仅获取第一行(具有最大版本)?

ID | VERSION | ...
====================
1  |    2    | ...
2  |    3    | ...
....
工商管理总局

您可以使用 row_number 分析函数对每个 ID 列的行进行排名,然后仅过滤掉 rnb = 1 的行:

select *
from (
select t.*, row_number()over(partition by ID order by VERSION desc) rnb
from Your_table t
)
where rnb = 1
;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章