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

Oracle SQL:jak najít pouze záznam ze skupiny

Použít agregaci:

select foreignKey, min(primaryKey)
from t
group by foreignKey;

Pokud chcete náhodnou hodnotu, můžete použít keep syntaxe:

select foreignKey,
       min(primaryKey) keep (dense_rank first order by dbms_random.random)
from t
group by foreignKey;

A pokud máte mnoho sloupců, můžete použít row_number() nebo korelovaný poddotaz:

select t.*
from t
where t.primarykey = (select min(t2.primarykey) from t t2 where t2.foreignkey = t.foreignkey);



  1. Jiný výsledek dotazu při použití mysql a mariadb

  2. Parametry připojovacího řetězce pro zdroje dat aplikace Excel

  3. Jak zjistit minimální hodnotu sloupce v SQL

  4. Jak nainstalovat SQLcl na Mac