Rumah > Artikel > pangkalan data > Bagaimana untuk Memilih Gabungan Nilai Berbeza daripada Pelbagai Lajur dalam MySQL?
Memilih Nilai Berbeza daripada Berbilang Lajur dalam MySQL
Apabila bekerja dengan pangkalan data, selalunya perlu mendapatkan semula gabungan nilai unik daripada berbilang lajur. Walau bagaimanapun, menggunakan kata kunci DISTINCT mungkin tidak selalu menghasilkan hasil yang diingini. Artikel ini meneroka pendekatan alternatif untuk memilih nilai yang berbeza daripada dua lajur dalam pangkalan data MySQL.
Pertimbangkan jadual berikut bernama "foo_bar":
foo | bar |
---|---|
a | c |
c | f |
d | a |
c | a |
f | c |
a | c |
d | a |
a | c |
c | a |
f | c |
Menyiasat jadual ini dengan pernyataan SQL berikut :
<code class="sql">SELECT DISTINCT foo, bar FROM foo_bar;</code>
menghasilkan keputusan berikut:
foo | bar |
---|---|
a | c |
c | f |
d | a |
c | a |
f | c |
Sementara pertanyaan ini memastikan bahawa hanya satu contoh bagi setiap gabungan nilai unik dikembalikan, ia tidak menghapuskan lebihan di mana nilai ditukar dalam dua lajur. Sebagai contoh, kedua-dua "a c" dan "c a" adalah gabungan yang berbeza, tetapi ia merujuk kepada data yang sama.
Untuk menangani isu ini, kita boleh menggunakan klausa GROUP BY:
<code class="sql">SELECT foo, bar FROM foo_bar GROUP BY foo, bar;</code>
Pertanyaan ini mengembalikan hasil berikut:
foo | bar |
---|---|
a | c |
c | f |
d | a |
Seperti yang anda lihat, klausa GROUP BY menggabungkan semua pendua baris ke dalam satu baris, menghapuskan ulangan dengan berkesan dan menyediakan gabungan nilai yang benar-benar berbeza daripada kedua-dua lajur foo dan bar.
Atas ialah kandungan terperinci Bagaimana untuk Memilih Gabungan Nilai Berbeza daripada Pelbagai Lajur dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!