sql >> Databasteknik >  >> RDS >> Oracle

SQL:Hur skulle du dela upp 100 000 poster från en Oracle-tabell i 5 bitar?

Om du bara vill tilldela värdena 1-5 till i princip lika stora grupper, använd sedan ntile() :

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

Om du vill infoga i 5 olika tabeller, använd 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. Hur man hittar det aktiva antalet öppna databasanslutningar i H2/MySQL

  2. ReadyCloud ReadyShipper X

  3. Det går inte att subtrahera offset-naiva och offset-medvetna datumtider

  4. Konfigurera MySQL och importera dump i Dockerfile