Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle SQL:как да намерите само запис от група

Използвайте агрегиране:

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

Ако искате произволна стойност, можете да използвате keep синтаксис:

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

И ако имате много колони, можете да използвате row_number() или корелирана подзаявка:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sql Developer може да свърже Oracle Database 12c с TNS, но не може да се свърже с основния

  2. SQL Server еквивалент на TO_CHAR и преобразуване на формат

  3. CREATE и DROP TABLESPACE Oracle

  4. ORA-00913 твърде много стойности

  5. Как да получите достъп до базата данни на Oracle през мрежа?