Cli*_*ton 2 sql database oracle oracle10g
假设我有一个包含三列的表key
,value
并且priority
在(key
,priority
)上有一个唯一键.
我想选择所有key
/ value
对,其中priority
该密钥高于任何其他优先级key
.
例如:
key | value | priority
----------------------
'a' | 'Alice' | 5
'a' | 'Aaron' | 10
'b' | 'Bob' | 1
Run Code Online (Sandbox Code Playgroud)
应该返回:
key | value
-------------
'a' | 'Aaron'
'b' | 'Bob'
Run Code Online (Sandbox Code Playgroud)
编写此类查询的有效方法是什么?
select [key],
value
from (select [key],
value,
row_number() over(partition by [key]
order by priority desc) as rn
from YourTable) as T
where rn = 1
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3809 次 |
最近记录: |