gpt4 book ai didi

sql - 在 Oracle 数据库中,ROWNUM 和 ROW_NUMBER 有什么区别?

转载 作者:行者123 更新时间:2023-12-03 11:50:45 25 4
gpt4 key购买 nike

ROWNUM有什么区别和 ROW_NUMBER ?

最佳答案

ROWNUM 是一个“伪列”,它为查询返回的每一行分配一个数字:

SQL> select rownum, ename, deptno
2 from emp;

ROWNUM ENAME DEPTNO
---------- ---------- ----------
1 SMITH 99
2 ALLEN 30
3 WARD 30
4 JONES 20
5 MARTIN 30
6 BLAKE 30
7 CLARK 10
8 SCOTT 20
9 KING 10
10 TURNER 30
11 FORD 20
12 MILLER 10

ROW_NUMBER 是一个分析函数,它根据每行在一组行中的顺序为每一行分配一个数字:
SQL> select ename, deptno, row_number() over (partition by deptno order by ename) rn
2 from emp;

ENAME DEPTNO RN
---------- ---------- ----------
CLARK 10 1
KING 10 2
MILLER 10 3
FORD 20 1
JONES 20 2
SCOTT 20 3
ALLEN 30 1
BLAKE 30 2
MARTIN 30 3
TURNER 30 4
WARD 30 5
SMITH 99 1

关于sql - 在 Oracle 数据库中,ROWNUM 和 ROW_NUMBER 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/174595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com