为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

炎炎设计 2019-02-08 15:07:32
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

查看完整回答
反对 回复 2019-03-01
?
慕运维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 )

查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 1858 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信