Bagaimana untuk menanyakan medan pendua dalam mysql

WBOY
Lepaskan: 2022-01-12 10:17:25
asal
23742 orang telah melayarinya

Dalam mysql, anda boleh menggunakan fungsi count() untuk menanyakan medan berulang Fungsi ini boleh mengembalikan hasil keadaan yang ditentukan Sintaksnya ialah "PILIH nilai medan COUNT(*) sebagai kiraan DARI nama jadual GROUP BY nilai medan mempunyai kiraan>1;".

Bagaimana untuk menanyakan medan pendua dalam mysql

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.

Cara membuat pertanyaan medan pendua dalam mysql

Contoh Data jadual info akaun adalah seperti berikut:

Bagaimana untuk menanyakan medan pendua dalam mysql

Senario 1 Carian & penyahduplikasian data pendua medan tunggal

Kita perlu mencari data yang sama dalam medan akaun medan tunggal dalam jadual di atas.

Idea ini diterangkan secara ringkas dalam tiga langkah:

Langkah pertama

Untuk mencari data pendua, perkara pertama yang kita fikirkan ialah kerana ia adalah pendua, maka nombornya lebih besar daripada 1 Walaupun ia adalah pengulangan. Itulah fungsi kiraan.

Disebabkan yang kita nak semak adalah akaun medan tunggal, maka kita perlu kumpulkan mengikut dimensi medan akaun. Itulah kumpulan mengikut fungsi.

Kemudian pernyataan mysql yang kami tulis pada langkah pertama ialah:

 SELECT account ,COUNT(account) as count FROM accountinfo GROUP BY account;
Salin selepas log masuk

Hasil pertanyaan adalah seperti berikut:

Bagaimana untuk menanyakan medan pendua dalam mysql

Langkah 2

Ya, seperti yang kami fikirkan, data dengan kiraan lebih daripada 1 ialah data dengan akaun A dan B.

Kemudian kami menapis sedikit dan hanya mencari akaun data yang kiraan lebih besar daripada 1.

Dalam langkah kedua, gunakan untuk menyambung syarat penapis, dan pernyataan mysql bertulis ialah:

 SELECT account FROM accountinfo GROUP BY account HAVING COUNT(account) > 1;
Salin selepas log masuk

Hasil pertanyaan adalah seperti berikut:

Bagaimana untuk menanyakan medan pendua dalam mysql

Langkah ketiga

Data akaun pendua A dan B telah ditemui Seterusnya, kami hanya perlu menanyakan data lain dengan akaun A dan B bersama-sama.

Iaitu menggunakan data yang terdapat pada langkah kedua sebagai syarat subquery dan menggunakan fungsi IN.

Pernyataan mysql yang ditulis dalam langkah ketiga ialah:

 SELECT * FROM  accountinfo WHERE account IN
 (
 SELECT account FROM accountinfo GROUP BY account HAVING COUNT(account) > 1
 );
Salin selepas log masuk

Hasil pertanyaan adalah seperti berikut:

Bagaimana untuk menanyakan medan pendua dalam mysql

Anda boleh lihat data pendua Mereka semua telah ditapis oleh kami.

Pembelajaran yang disyorkan: tutorial video mysql

Atas ialah kandungan terperinci Bagaimana untuk menanyakan medan pendua dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!