Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jaka jest różnica między ROWNUM a ROW_NUMBER w bazie danych Oracle?

ROWNUM to „pseudokolumna”, która przypisuje liczbę do każdego wiersza zwróconego przez zapytanie:

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 to funkcja analityczna, która przypisuje numer do każdego wiersza zgodnie z jego kolejnością w grupie wierszy:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:jak odjąć dwie daty i uzyskać minuty wyniku

  2. Jak wykonać procedurę składowaną Oracle za pośrednictwem łącza do bazy danych

  3. Pisanie w ExcelSheet przy użyciu pakietu UTL_FILE w Oracle

  4. Jak pozyskać pracowników ze swoimi menedżerami

  5. Czy Oracle ma odpowiednik zmiennych tabeli SQL Server?