SQL 怎么用指定條件查詢RANK函數生成的新排名列?
2 回答

慕標5832272
TA貢獻1966條經驗 獲得超4個贊
需要再套一層子查詢, 計算字段直接使用不太方便
select *
from (SELECT xingming,fenshu,RANK() OVER(ORDER BY fenshu DESC) as paiming from test
) t
where paiming >1 and paiming <4

慕運維8079593
TA貢獻1876條經驗 獲得超5個贊
你說的這個問題和rank沒有關系,你只是想把查出來的一列數據根據條件再update到表中某一列。 所以你可以用臨時表先查出(key, value)這樣的組合,然后在通過key相等這樣的條件來update你表中對應行的某列的value。 With T { Select a.key_no as key, RANK() over(partition by a.key_no order by a.id) as value, From A a } update A set a.Some_Column = ( select t.value from T t where t.key = A.key_no )
- 2 回答
- 0 關注
- 1898 瀏覽
添加回答
舉報
0/150
提交
取消