`
ldzyz007
  • 浏览: 720176 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

oracle更新某列为行号

阅读更多
1.有主键
update T a set newOrder=
(select row_number() over (order by amount desc) from T b where a.id=b.id)
where exists(select 1 from T b where a.id=b.id)

2.无主键使用rowid关联
UPDATE T a SET a.neworder =
(SELECT b.newOrder FROM
(SELECT row_number() over(ORDER BY amount DESC) newOrder,ROWID browid FROM T) b
WHERE b.browid = a.rowid)

分享到:
评论

相关推荐

    Oracle存储过程编写与调试

    在存储过程代码的某一行上设置断点,通常是在行号的右侧点击。断点表示在执行到该行时,调试器将暂停,允许查看和修改变量的值,以及逐步执行代码。 #### (3) 启动调试 启动调试后,会进入一个调试界面,你可以...

    韩顺平Oracle课堂资料总结

    - 查询XX表中XXX列为空的所有记录。 - **使用NVL函数处理空值**:`SELECT NVL(COMM, 0) FROM EMP;` - 如果COMM列的值为NULL,则显示0,否则显示其实际值。 #### 五、ROWNUM的使用 - **基本用法**:`SELECT * ...

    Oracle数据库试题及答案.pdf

    ,该语句用于从scott.wz表中选择所有列的数据,但条件是wunit列为空且行号小于5。 2. Oracle函数:文件中使用了多个Oracle函数,例如NEXT_DAY、ADD_MONTHS、MONTHS_BETWEEN等。这些函数用于进行日期和时间的操作。...

    oracle执行计划解释

    1. **ROWID**:ROWID是Oracle数据库中的一个特殊伪列,它标识了表中每一行的唯一位置,包括数据文件号、数据块号和行号。ROWID在行的生命周期内保持不变,即使行的内容发生变化,ROWID也不会更改。这一特性使得通过...

    Oracle与Mysql主键、索引及分页的区别小结

    这里的'n'表示要开始查询的行号,而'm'表示结束的行号。注意,Oracle的`ROWNUM`在查询过程中一旦满足条件就会立即停止,因此这种方法可能会比MySQL的`LIMIT`更高效,但写法也更为复杂。 除了以上提到的区别,还有...

    CDA LEVEL 1业务数据分析师模拟题

    - **row_number() over (partition by)**:这是一个窗口函数,在Oracle等数据库中可用,它可以为分区内的行分配连续的行号。这在处理复杂的数据排序和过滤问题时非常有用。 ### 主成分分析(PCA) 主成分分析是一...

Global site tag (gtag.js) - Google Analytics