sql >> Database >  >> RDS >> Oracle

Oracle SQL:hoe u een record uit een groep kunt vinden

Aggregatie gebruiken:

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

Als u een willekeurige waarde wilt, kunt u de keep . gebruiken syntaxis:

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

En als je veel kolommen had, zou je row_number() . kunnen gebruiken of een gecorreleerde subquery:

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



  1. php PDO::FETCH_CLASS verwijst naar alle eigenschappen in kleine letters in plaats van camelCase

  2. Verzamelmethode:BESTAAT Functie in Oracle Database

  3. waarden krijgen die niet in de mysql-tabel voorkomen

  4. ongeldige hindi-tekenreeks van mysql krijgen met jsp