Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Nilai Berbeza dengan Cekap daripada Pelbagai Lajur dalam MySQL?
Mengenal pasti Nilai Berbeza dalam Berbilang Lajur Menggunakan DISTINCT dalam MySQL
Dalam MySQL, anda mungkin menghadapi senario di mana anda perlu mendapatkan semula yang unik sahaja nilai daripada berbilang lajur dalam jadual. Walau bagaimanapun, menggunakan kata kunci DISTINCT sahaja mungkin tidak selalu memberikan hasil yang diingini. Artikel ini bertujuan untuk menjelaskan isu ini dan menyediakan penyelesaian untuk memilih nilai yang berbeza untuk berbilang lajur secara berasingan.
Seperti yang anda nyatakan, menggunakan SELECT DISTINCT a,b,c,d FROM my_table tidak akan berfungsi kerana ia hanya akan kembali baris di mana keempat-empat lajur mempunyai nilai yang berbeza. Ini bukan yang anda mahukan, kerana anda memerlukan nilai yang berbeza untuk setiap lajur secara berasingan.
Untuk mencapai matlamat ini, anda boleh memanfaatkan klausa GROUP BY dalam kombinasi dengan DISTINCT. Begini caranya:
SELECT DISTINCT a, b FROM my_table GROUP BY a, b;
Dalam pertanyaan ini, kata kunci DISTINCT digunakan pada a dan b dalam klausa GROUP BY. Ini bermakna bahawa untuk setiap gabungan unik nilai a dan b dalam jadual, pertanyaan hanya akan mengembalikan satu baris. Hasilnya ialah senarai semua pasangan nilai a dan b yang berbeza.
Anda boleh menambah lajur tambahan pada klausa GROUP BY jika perlu. Sebagai contoh, untuk mendapatkan nilai yang berbeza bagi keempat-empat lajur a, b, c dan d, anda akan menggunakan:
SELECT DISTINCT a, b, c, d FROM my_table GROUP BY a, b, c, d;
Ini akan memberi anda senarai semua gabungan unik bagi empat lajur tersebut dalam jadual.
Adalah penting untuk ambil perhatian bahawa pendekatan ini akan mengembalikan gabungan nilai yang berbeza, tidak semestinya nilai daripada satu baris tertentu. Jika anda ingin memastikan bahawa hanya satu baris dikembalikan untuk setiap kumpulan, anda boleh menambah klausa LIMIT 1 tambahan selepas klausa GROUP BY.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Berbeza dengan Cekap daripada Pelbagai Lajur dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!