MySQL MariaDB

MySQL Cari Nilai Pendua dalam Jadual

MySQL Cari Nilai Pendua dalam Jadual
Data berlebihan boleh disimpan dalam jadual oleh program pangkalan data, mempengaruhi output pangkalan data di MySQL. Replikasi data, bagaimanapun, berlaku untuk tujuan yang berbeza, dan merupakan tugas penting untuk mengenal pasti nilai pendua dalam jadual ketika berurusan dengan pangkalan data MySQL. Secara umum, adalah bijak untuk menggunakan sekatan yang jelas di atas meja untuk menyimpan maklumat yang menghalang baris berlebihan. Kadang kala, dalam pangkalan data MySQL, anda mungkin ingin mengira bilangan nilai berulang. Kami menjawab soalan ini dalam topik ini, di mana anda akan belajar tentang cara mencari nilai pendua melalui cara yang berbeza dan cara menghitung nilai pendua.

Untuk memulakan, anda mesti memasang MySQL pada sistem anda dengan kemudahannya: Meja kerja MySQL dan shell pelanggan baris perintah. Selepas itu, anda harus mempunyai beberapa data atau nilai dalam jadual pangkalan data anda sebagai pendua. Mari kita terokai ini dengan beberapa contoh. Pertama sekali, buka shell pelanggan baris perintah anda dari bar tugas desktop anda dan taip kata laluan MySQL anda apabila diminta.

Kami telah menemui kaedah yang berbeza untuk diduplikasi dalam jadual. Lihatlah mereka satu persatu.

Cari Pendua dalam Lajur Tunggal

Pertama, anda mesti mengetahui mengenai sintaks pertanyaan yang digunakan untuk memeriksa dan mengira pendua untuk satu lajur.

>> PILIH col COUNT (col) DARI jadual GROUP BY col HAVING COUNT (col)> 1;

Berikut adalah penjelasan mengenai pertanyaan di atas:

Kami telah membuat jadual baru yang disebut 'binatang' dalam 'data' pangkalan data MySQL kami yang mempunyai nilai pendua. Ia mempunyai enam lajur dengan nilai yang berbeza di dalamnya, e.g., id, Nama, Spesies, Jantina, Umur, dan Harga yang memberikan maklumat mengenai haiwan peliharaan yang berbeza. Setelah memanggil jadual ini menggunakan pertanyaan SELECT, kami mendapat output di bawah pada shell pelanggan baris perintah MySQL kami.

>> PILIH * DARI data.haiwan;

Sekarang, kita akan cuba mencari nilai berlebihan dan berulang dari jadual di atas dengan menggunakan klausa COUNT dan GROUP BY dalam pertanyaan SELECT. Pertanyaan ini akan mengira Nama haiwan peliharaan yang terletak kurang dari 3 kali dalam jadual. Selepas itu, ia akan memaparkan Nama-nama tersebut seperti di bawah.

>> PILIH Nama COUNT (Nama) DARI data.haiwan KUMPULAN MENGIKUT Nama MEMILIKI COUNT (Nama) < 3;

Menggunakan pertanyaan yang sama untuk mendapatkan hasil yang berbeza sambil menukar COUNT nombor untuk Nama haiwan peliharaan seperti yang ditunjukkan di bawah.

>> PILIH Nama COUNT (Nama) DARI data.haiwan KUMPULAN MENGIKUT Nama MEMILIKI COUNT (Nama)> 3;

Untuk mendapatkan hasil sebanyak 3 nilai pendua untuk Nama haiwan peliharaan seperti gambar di bawah.

>> PILIH Nama COUNT (Nama) DARI data.haiwan KUMPULAN MENGIKUT Nama MEMILIKI COUNT (Nama) = 3;

Cari Pendua dalam Beberapa Lajur

Sintaks pertanyaan untuk memeriksa atau mengira pendua untuk beberapa lajur adalah seperti berikut:

>> PILIH col1, COUNT (col1), col2, COUNT (col2) DARI jadual KUMPULAN MENGIKUT col1, col2 MEMILIKI COUNT (col1)> 1 DAN COUNT (col2)> 1;

Berikut adalah penjelasan mengenai pertanyaan di atas:

Kami telah menggunakan jadual yang sama yang disebut 'binatang' yang mempunyai nilai pendua. Kami mendapat output di bawah sambil menggunakan pertanyaan di atas untuk memeriksa nilai pendua dalam beberapa lajur. Kami telah memeriksa dan menghitung nilai pendua untuk lajur Jantina dan Harga sambil dikelompokkan berdasarkan lajur Harga. Ia akan menunjukkan jenis kelamin haiwan dan harganya yang terdapat di dalam jadual sebagai pendua tidak lebih dari 5.

>> PILIH Jantina, COUNT (Jantina), Harga, COUNT (Harga) DARI data.haiwan KUMPULAN MENGIKUT Harga MEMILIKI COUNT (Harga) < 5 AND  COUNT(Gender) < 5;

Cari Pendua dalam Jadual Tunggal Menggunakan INNER JOIN

Berikut adalah sintaks asas untuk mencari pendua dalam satu jadual:

>> PILIH col1, col2, jadual.col FROM table INNER JOIN (PILIH col FROM table GROUP BY col HAVING COUNT (col1)> 1) temp ON table.col = temp.kol;

Berikut adalah naratif pertanyaan overhead:

Kami mempunyai jadual baru, 'order2' dengan nilai pendua di lajur OrderNo seperti yang ditunjukkan di bawah.

>> PILIH * DARI data.pesanan2;

Kami memilih tiga lajur: Item, Penjualan, PesananTidak ditunjukkan dalam output. Sementara kolom OrderNo digunakan untuk memeriksa pendua. Gabungan dalaman akan memilih nilai atau baris yang mempunyai nilai Item lebih daripada satu dalam jadual. Setelah melaksanakannya, kami akan mendapat keputusan di bawah.

>> PILIH Item, Jualan, pesanan2.OrderNo DARI data.order2 INNER JOIN (PILIH OrderNo DARI data.order2 GROUP BY OrderNo MEMILIKI COUNT (Item)> 1) temp ON order2.OrderNo = temp.OrderNo;

Cari Pendua dalam Beberapa Jadual Menggunakan GABUNGAN DALAMAN

Berikut adalah sintaks yang dipermudahkan untuk mencari pendua dalam beberapa jadual:

>> PILIH col DARI jadual1 INNER JOIN table2 ON table1.col = jadual2.kol;

Berikut adalah keterangan pertanyaan overhead:

Kami mempunyai dua jadual, 'order1' dan 'order2', dalam pangkalan data kami mempunyai lajur 'OrderNo' di kedua-duanya seperti yang dipaparkan di bawah.

Kami akan menggunakan gabungan INNER untuk menggabungkan pendua dua jadual mengikut lajur yang ditentukan. Klausa INNER JOIN akan mendapatkan semua data dari kedua-dua jadual dengan menggabungkannya, dan klausa ON akan mengaitkan lajur nama yang sama dari kedua-dua jadual, e.g., PesananTidak.

>> PILIH * DARI data.memesan 1 data BERSAMA INNER.pesanan2 ON pesanan1.OrderNo = pesanan2.PesananNO;

Untuk mendapatkan lajur tertentu dalam output, cuba arahan di bawah:

>> PILIH Wilayah, Status, Item, Penjualan DARI data.memesan 1 data BERSAMA INNER.pesanan2 ON pesanan1.OrderNo = pesanan2.PesananNO;

Kesimpulannya

Kami sekarang dapat mencari beberapa salinan dalam satu atau beberapa jadual maklumat MySQL dan mengenali fungsi GROUP BY, COUNT, dan INNER JOIN. Pastikan bahawa anda telah membina jadual dengan betul dan juga lajur yang betul dipilih.

5 Kad Tangkap Permainan Teratas
Kita semua telah melihat dan menyukai streaming permainan permainan di YouTube. PewDiePie, Jakesepticye, dan Markiplier hanyalah beberapa pemain terat...
Cara Membangunkan Permainan di Linux
Satu dekad yang lalu, tidak banyak pengguna Linux akan meramalkan bahawa sistem operasi kegemaran mereka suatu hari nanti akan menjadi platform permai...
Port Sumber Terbuka Mesin Permainan Komersial
Rekreasi enjin permainan sumber terbuka dan bebas platform boleh digunakan untuk bermain lama dan juga beberapa tajuk permainan yang baru-baru ini. Ar...