sql >> Databáze >  >> RDS >> Oracle

SQL:Jak byste rozdělil 100 000 záznamů z tabulky Oracle na 5 částí?

Pokud chcete pouze přiřadit hodnoty 1-5 v zásadě stejně velkým skupinám, použijte ntile() :

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

Pokud chcete vkládat do 5 různých tabulek, použijte 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. Jak přidáte tlačítko pro úpravy do každého řádku v sestavě v Oracle APEX?

  2. Potíže s otevřením souboru MDF, protože se uvádí chyba SQL 5171? - Hostující příspěvek od Andre Williamse

  3. Občas získávání SqlException:Vypršel časový limit

  4. Databázová služba MySQL – nové inovace HeatWave