猿问

SQL 怎么用指定条件查询RANK函数生成的新排名列?

SQL 怎么用指定条件查询RANK函数生成的新排名列?


炎炎设计
浏览 1859回答 2
2回答

慕标5832272

需要再套一层子查询, 计算字段直接使用不太方便select *from (SELECT xingming,fenshu,RANK() OVER(ORDER BY fenshu DESC) as paiming from test) twhere paiming >1 and paiming <4

慕运维8079593

你说的这个问题和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 )
随时随地看视频慕课网APP
我要回答