首頁 >資料庫 >mysql教程 >如何從 MySQL 中的多個欄位中取得真正不同的值?

如何從 MySQL 中的多個欄位中取得真正不同的值?

Linda Hamilton
Linda Hamilton原創
2024-10-29 11:05:02487瀏覽

How to Get Truly Distinct Values from Multiple Columns in MySQL?

如何從MySQL 中的多個欄位中選擇不同的值

使用資料庫時,通常需要從多個欄位中擷取唯一或不同的值列。但是,使用簡單的 SELECT DISTINCT 子句可能無法總是產生所需的結果。

問題

考慮以下場景:

Table: foo_bar

foo | bar
--- | ---
a   | c
c   | f
d   | a
c   | a
f   | c
a   | c
d   | a
a   | c
c   | a
f   | c

執行查詢SELECT DISTINCT foo, bar FROM foo_bar 會傳回下列結果:

foo | bar
--- | ---
a   | c
c   | f
d   | a
c   | a
f   | c

請注意,雖然每列的值不同,但對本身卻不同。例如,a 和 c 對出現兩次,只是順序不同。

解決方案:使用GROUP BY

要獲得真正不同的值對,您可以利用GROUP BY 子句:

SELECT foo, bar FROM foo_bar GROUP BY foo, bar

GROUP BY 子句指示資料庫根據指定的欄位將結果分組。在這種情況下,它將按 foo 和 bar 列對行進行分組。

因此,查詢將只傳回唯一的值對:

foo | bar
--- | ---
a   | c
c   | f
d   | a

此方法可確保您只從多個指定列中擷取唯一的值組合。

以上是如何從 MySQL 中的多個欄位中取得真正不同的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn