Rumah >pangkalan data >tutorial mysql >mysql alih keluar pendua
MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan yang boleh menyimpan dan mengurus sejumlah besar data serta menyediakan satu siri pertanyaan dan bahasa operasi yang fleksibel. Dalam proses aplikasi MySQL, kita sering menghadapi situasi di mana data perlu diambil daripada pangkalan data, tetapi data pendua akan mengganggu keputusan pertanyaan, jadi data pendua perlu dialih keluar. Artikel ini akan memperkenalkan kaedah dan aplikasi MySQL untuk membuang data pendua.
1. Gunakan DISTINCT untuk mengalih keluar data pendua
Dalam MySQL, cara paling mudah untuk mengalih keluar data pendua ialah menggunakan kata kunci DISTINCT. DISTINCT digunakan untuk menanyakan baris data yang berbeza dalam jadual dan mengembalikannya sebagai set hasil tunggal. Gunakan kata kunci DISTINCT dalam pernyataan SELECT untuk mengalih keluar data pendua. Sebagai contoh, katakan terdapat jadual bernama "pekerja" yang mengandungi nama dan jabatan pekerja Untuk menanyakan senarai jabatan, anda boleh menggunakan arahan berikut:
PILIH jabatan yang BERBEZA DARI pekerja;
Perintah ini akan mengembalikan semua nilai "jabatan" unik.
2. Gunakan GROUP BY untuk mengalih keluar data pendua
Cara lain untuk mengalih keluar data pendua ialah menggunakan pernyataan GROUP BY. GROUP BY boleh menghimpunkan hasil mengikut satu atau lebih medan Apabila memproses hasil terkumpul, anda boleh menggunakan fungsi agregat untuk pengiraan. Dalam pernyataan GROUP BY, gunakan klausa GROUP BY untuk menentukan medan kumpulan. Sebagai contoh, katakan terdapat jadual bernama "pesanan" yang mengandungi nama produk, tarikh pesanan dan kuantiti pesanan pesanan Untuk menanyakan jumlah kuantiti pesanan bagi setiap nama produk, anda boleh menggunakan perintah berikut:
PILIH nama_produk , SUM(kuantiti)
DARI pesanan
KUMPULAN MENGIKUT nama_produk;
Arahan ini akan mengumpulkan mengikut medan "nama_produk", jumlah data dalam medan "kuantiti", dan kemudian kembalikan semua nilai "nama_produk" yang unik dan jumlah kuantiti pesanan yang sepadan.
3. Gunakan klausa HAVING untuk mengalih keluar data pendua di bawah syarat tertentu
Jika anda perlu mengalih keluar data pendua apabila syarat tertentu dipenuhi, anda boleh menggunakan klausa HAVING. Kata kunci HAVING biasanya digunakan dengan pernyataan GROUP BY, yang membolehkan kami menggunakan fungsi agregat apabila menapis hasil terkumpul. Sebagai contoh, katakan terdapat jadual bernama "pekerja", yang mengandungi nama, jabatan dan gaji pekerja Untuk menanyakan jabatan pekerja yang gajinya lebih daripada 5000, anda boleh menggunakan arahan berikut:
. PILIH jabatan, AVG (gaji)
DARI pekerja
KUMPULAN MENGIKUT jabatan
MENDAPAT AVG(gaji) >
Arahan ini akan mengumpulkan mengikut medan "jabatan" dan mengira purata gaji setiap jabatan, Dan hanya kembalikan nama jabatan dan purata nilai gaji di mana purata gaji melebihi 5000.
4. Gunakan self-join untuk mengalih keluar data pendua
Dalam beberapa kes, perlu untuk membandingkan dan menapis dalam jadual yang sama, anda boleh menggunakan self-join untuk mencapai ini. Sertai sendiri merujuk kepada penggabungan dua kejadian jadual yang sama, setiap kejadian diwakili oleh alias dan ia diakses dengan menyatakan alias. Sebagai contoh, katakan terdapat jadual bernama "pelanggan" yang mengandungi nama dan bandar pelanggan Untuk menanyakan nama pelanggan di bandar yang sama, anda boleh menggunakan arahan berikut:
PILIH DISTINCT a.nama_pelanggan. , b .nama_pelanggan
DARI pelanggan a, pelanggan b
WHERE a.city=b.city DAN a.customer_name <> b.customer_name;
Perintah ini akan membandingkan dua dalam yang sama bandar Contoh pelanggan yang berbeza, nyahduplikasi nama pelanggan dan hanya mengembalikan nama pelanggan di bandar yang sama.
Ringkasnya, dalam MySQL, terdapat banyak cara untuk mengalih keluar data pendua. Memilih kaedah yang paling sesuai berdasarkan keperluan khusus boleh menjadikan hasil pertanyaan lebih tepat dan meningkatkan kecekapan pemprosesan data.
Atas ialah kandungan terperinci mysql alih keluar pendua. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!