Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle SQL:cara menemukan rekaman saja dari grup

Gunakan agregasi:

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

Jika Anda menginginkan nilai acak, Anda dapat menggunakan keep sintaks:

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

Dan jika Anda memiliki banyak kolom, Anda dapat menggunakan row_number() atau subkueri terkait:

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. cara mendapatkan waktu dalam milidetik dari bidang tanggal Oracle untuk tanggal 01-01-9999

  2. Kesalahan (5,3):PLS-00103:Menemukan simbol BEGIN saat mengharapkan salah satu dari yang berikut:bahasa

  3. Oracle Spatial - pilih objek yang berada di dalam area

  4. Bagaimana saya bisa menutup Oracle DbLinks di JDBC dengan sumber data dan transaksi XA untuk menghindari kesalahan ORA-02020?

  5. Fungsi vs prosedur di Oracle