sql >> Database teknologi >  >> RDS >> Oracle

SQL:Hvordan ville du opdele 100.000 poster fra en Oracle-tabel i 5 bidder?

Hvis du blot vil tildele værdierne 1-5 til stort set lige store grupper, så brug ntile() :

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

Hvis du vil indsætte i 5 forskellige tabeller, så brug 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. JSON_REMOVE() – Fjern data fra et JSON-dokument i MySQL

  2. Ville følgende primærnøgleændring fungere med `pt-online-schema-change`?

  3. Sådan henter du rækker i den påkrævede rækkefølge i mysql

  4. rand funktionsværdi