Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Temukan nilai duplikat yang ditetapkan ke lebih dari satu nilai unik

WITH CTE AS (SELECT DBVersionKey, Desc19, ROW_NUMBER()OVER(PARTITION BY Desc19
ORDER BY Desc19) RN
FROM Table_A)

SELECT * FROM CTE WHERE RN > 1

Saya sarankan menggunakan ekspresi tabel umum dengan partisi nomor baris. Ini membuat hitungan (RN) dari setiap instance Desc19.

Saya tidak dapat menguji kueri saat ini, tetapi terus perbarui hasil Anda dan saya dapat menyesuaikan dari sana.

EDIT

Jika DBVersionKey bukan nilai unik, saya akan mencoba:

SELECT DISTINCT DBVersionKey, Desc19, COUNT(*)
FROM Table_A
Group by DBVersionKey, Desc19

Beri tahu saya jika itu berfungsi lebih baik.

EDIT 2

Satu lagi, saya tidak bisa mengujinya. Menambahkan ke kueri pertama yang disarankan:

WITH CTE AS (SELECT DBVersionKey, Desc19, ROW_NUMBER()OVER(PARTITION BY Desc19 ORDER BY Desc19) RN 
FROM (SELECT DISTINCT DBVersionKey, Desc19 FROM Table_A GROUP BY DBVersionKey, Desc19)

SELECT * FROM CTE WHERE RN > 1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. read_sql panda dengan daftar nilai untuk kondisi WHERE

  2. CHAR() Contoh di MySQL

  3. Django mysql memaksa penggunaan indeks

  4. Apa yang harus saya lakukan untuk membuka URL dengan karakter khusus

  5. Koneksi mySQL jarak jauh tidak dapat terhubung ke MySQL 4.1+ menggunakan kesalahan otentikasi tidak aman lama dari XAMPP