oracle 如何将某表用rank函数排序出来的值,update到该表中的某个字段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 如何将某表用rank函数排序出来的值,update到该表中的某个字段相关的知识,希望对你有一定的参考价值。
参考技术A 不知道你是直接更新还是根据什么条件更新,下面是直接更新的假设排序字段为C1,update字段为C2
update A set C2=(select rank() over(order by C1) C from TABLE A) ; 参考技术B DECLARE
V VARCHAR2(10);
BEGIN
FOR RS IN(select rank() over(order by id)***,id from TABLE)LOOP
UPDATE TABLE SET 某个字段=RS.*** WHERE 某个字段=RS.id;
END LOOP;
COMMIT;
END;本回答被提问者和网友采纳
oracle rank函数怎么用
参考技术A rank是oracle分析函数中的一个,主要用法是rank()over(partitonby
xx
orader
by
ZZ
desc)(分组排序序号)一般用来分组排序,与group
by
xx
order
by
ZZ
不同的是,它并不影响现有数据。比如:xx
zz1
21
31
42
22
6那么select
xx,zz,rank()over(partiton
by
xx
orader
by
ZZ
)
aa
from
table的结果为xx
zz
aa1
2
11
3
21
4
32
2
12
6
2partition
by可不写,这样就是全局排序,与order
by的排序结果相同,只是会存在序号还有其他用法,而且还有很多分析函数,这个可以上网找找,oracle分析函数,里面的例子好多,希望对你有帮助。
以上是关于oracle 如何将某表用rank函数排序出来的值,update到该表中的某个字段的主要内容,如果未能解决你的问题,请参考以下文章
Oracle分析函数-排序排列(rankdense_rankrow_number)