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

Bagaimana saya bisa melakukan SELECT DISTINCT di semua bidang kecuali BLOB?

SELECT DISTINCT MOVIES.TITLE, CERTIFICATIONS.ID, PROJECTION.DAY, TIME_SLOTS.SLOT, PROJECTION.REMAINING_SEATS
FROM [...]

Berbeda diterapkan ke semua kolom dari daftar SELECT. Dan ya, Anda tidak dapat menggunakan LOB di GROUP BY, UNION, DISTINCT dll karena Oracle tidak tahu cara membandingkan LOB yang berbeda

Jika Anda ingin mengambil BLOB juga, Anda dapat mencoba sesuatu seperti ini:

SELECT MOVIES.TITLE, CERTIFICATIONS.ID, 
       PROJECTION.DAY, TIME_SLOTS.SLOT, PROJECTION.REMAINING_SEATS, IMAGES.IMAGE
FROM (     
  SELECT MOVIES.TITLE, CERTIFICATIONS.ID, 
         PROJECTION.DAY, TIME_SLOTS.SLOT, PROJECTION.REMAINING_SEATS, IMAGES.IMAGE,
         row_number() over (partition by MOVIES.TITLE, CERTIFICATIONS.ID, PROJECTION.DAY, TIME_SLOTS.SLOT, PROJECTION.REMAINING_SEATS 
                            order by PROJECTION.DAY, TIME_SLOTS.SLOT) RW
  FROM [...]
) WHERE RW = 1;  

Tetapi Anda harus memahami apa yang Anda cari. Misalnya, kueri di atas mengelompokkan semua kolom kecuali kolom BLOB, mengurutkannya menurut dua kolom dan menetapkan nomor baris untuk setiap baris dalam grup. Kueri yang dihasilkan hanya mengambil baris pertama di setiap grup




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Alat pengembang untuk mengakses database secara langsung

  2. Oracle INSERT menjadi dua tabel dalam satu query

  3. Tidak dapat menggunakan kueri LIKE di JDBC PreparedStatement?

  4. ORACLE SQL:Dapatkan semua bilangan bulat di antara dua angka

  5. C#:Objek tidak dapat dilemparkan dari DbNull ke tipe lain