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

Permintaan untuk menemukan duplikat antara nama dan nomor dalam tabel

Pertanyaan yang diperbarui

"Dapatkan duplikat pada nomor dan nama" ... "nama dan nomor sebagai kolom yang berbeda"
Baris dapat dihitung dua kali di sini!

SELECT lower(name), NULL AS number, count(*) AS ct
FROM   tbl
GROUP  BY lower(name)
HAVING count(*) > 1

UNION  ALL
SELECT NULL, number, count(*) AS ct
FROM   tbl
GROUP  BY number
HAVING count(*) > 1;

-> sqlfiddle

Pertanyaan awal

Masalahnya adalah bahwa kueri dikelompokkan berdasarkan

GROUP  BY lower(name), number

Karena baris 3 dan 4 memiliki berbeda number , mereka tidak sama untuk kueri ini.

Jika Anda ingin mengabaikan nomor yang berbeda untuk kueri ini, coba sesuatu seperti:

SELECT lower(name)
     , count(*) AS ct
FROM   tbl
GROUP  BY lower(name)
HAVING count(*) > 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. Bagaimana cara menghitung kemunculan pertama dari suatu nilai?

  2. Apakah tabel dibuat dengan CREATE SEMENTARA TABLE di memori atau di disk?

  3. Bagaimana saya bisa lebih mengoptimalkan kueri tabel turunan yang berkinerja lebih baik daripada yang setara BERGABUNG?

  4. Bagaimana cara membuat kueri mysql terus diperbarui di PHP?

  5. Pemecahan Masalah Campuran ilegal kesalahan susunan di mysql