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

Cara mendapatkan nilai SQL yang paling sering

"Nilai yang paling sering muncul" dalam distribusi adalah konsep yang berbeda dalam statistik, dengan nama teknis. Ini disebut MODE distribusi. Dan Oracle memiliki STATS_MODE() fungsi untuk itu. https://docs.Oracle.com/cd/B19306_01 /server.102/b14200/functions154.htm

Misalnya, menggunakan EMP tabel dalam SCOTT standar skema, select stats_mode(deptno) from scott.emp akan mengembalikan 30 - jumlah departemen dengan karyawan terbanyak. (30 adalah "nama" atau nomor departemen, BUKAN jumlah karyawan di departemen itu!)

Dalam kasus Anda:

select stats_mode(h.name) from (the rest of your query)

Catatan :jika dua atau lebih hotel terikat untuk "paling sering", maka STATS_MODE() akan mengembalikan salah satunya (non-deterministik). Jika Anda membutuhkan semua nilai terikat, Anda akan memerlukan solusi yang berbeda - contoh yang baik ada di dokumentasi (ditautkan di atas). Ini adalah cacat terdokumentasi dalam pemahaman Oracle dan implementasi konsep statistik.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbarui tabel dari tabel lain di Oracle

  2. Apakah mungkin untuk melihat hak istimewa tabel pengguna Oracle tanpa memiliki hak istimewa DBA?

  3. Ubah tabel, tambahkan kolom / ORA-00984:kolom tidak diizinkan di sini PLSQL

  4. Tingkat isolasi di oracle

  5. Memuat DataFrame dari Pandas ke SQL untuk ORACLE Yields and ERROR - ORA-00911:Karakter Tidak Valid