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

Cegah pernyataan minus Oracle dari menghapus duplikat

Pilihan lain:

SELECT TEST, row_number() OVER (PARTITION BY TEST ORDER BY TEST) FROM TEST1
MINUS
SELECT TEST, row_number() OVER (PARTITION BY TEST ORDER BY TEST) FROM TEST2

Ini akan menjadi MINUS dengan setiap duplikat diperlakukan sebagai entri yang berbeda. Perhatikan pada contoh di bawah ini, jika TEST1 memiliki dua nilai 'C' dan TEST2 hanya memiliki satu, Anda akan mendapatkan satu di output.

dev> select * from test1;

T
-
A
A
B
C
C

dev> select * from test2;

T
-
B
C

dev>     SELECT TEST, row_number() OVER (PARTITION BY TEST ORDER BY TEST) FROM TEST1
  2      MINUS
  3      SELECT TEST, row_number() OVER (PARTITION BY TEST ORDER BY TEST) FROM TEST2
  4  /

T ROW_NUMBER()OVER(PARTITIONBYTESTORDERBYTEST)
- --------------------------------------------
A                                            1
A                                            2
C                                            2


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

  2. Oracle menggandakan baris N kali di mana N adalah kolom

  3. cara menghitung rentang di oracle

  4. Perbedaan antara SELECT DISTINCT dan SELECT UNIQUE

  5. Oracle - Ubah tabel yang ada untuk menambah kolom secara otomatis