Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Memilih Gabungan Nilai Berbeza daripada Pelbagai Lajur dalam MySQL?

Bagaimana untuk Memilih Gabungan Nilai Berbeza daripada Pelbagai Lajur dalam MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-02 16:18:02464semak imbas

How to Select Distinct Value Combinations from Multiple Columns in 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!

Kenyataan:
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