Oracle
 sql >> база данни >  >> RDS >> Oracle

SQL:Как бихте разделили 100 000 записа от таблица на Oracle на 5 части?

Ако просто искате да присвоите стойности 1-5 на основно еднакви по размер групи, тогава използвайте ntile() :

select t.*, ntile(5) over (order by NULL) as num
from (select t.*
      from t
      where rownum <= 100000
     ) t;

Ако искате да вмъкнете в 5 различни таблици, използвайте insert all :

insert all
    when num = 1 then into t1
    when num = 2 then into t2
    when num = 3 then into t3
    when num = 4 then into t4
    when num = 5 then into t5
    select t.*, ntile(5) over (order by NULL) as num
    from (select t.*
          from t
          where rownum <= 100000
         ) t;


  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 SQL централна заявка

  2. N-та максимална заплата в Oracle

  3. Как да изпълним съхранена процедура в различна сесия по едно и също време в pl/sql

  4. Oracle 11g:Статична стойност по подразбиране, когато заявката не връща нищо

  5. Времето за изчакване на връзката за DriverManager getConnection