如何從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中文網其他相關文章!