首頁 >資料庫 >mysql教程 >如何從 MySQL 的 GROUP_CONCAT() 函數中刪除重複項?

如何從 MySQL 的 GROUP_CONCAT() 函數中刪除重複項?

Susan Sarandon
Susan Sarandon原創
2024-12-26 13:29:09769瀏覽

How Can I Remove Duplicates from MySQL's GROUP_CONCAT() Function?

使用DISTINCT 消除GROUP_CONCAT() 中的重複項

在MySQL 中,GROUP_CONCAT() 是一個有用的函數,用於將多行中的值聚合到一個單一逗號分隔的字串。但是,當使用非唯一值時,結果字串中可能會出現重複項。為了解決這個問題,可以在 GROUP_CONCAT() 函數中使用 DISTINCT 性質。

問題:

考慮以下帶有「categories」欄位的範例資料表:

categories
test1 test2 test3
test4
test1 test3
test1 test3

執行下列 GROUP_CONCAT()時查詢:

SELECT GROUP_CONCAT(categories SEPARATOR ' ') FROM table

結果是:

test1 test2 test3 test4 test1 test3

但是,期望的結果是:

test1 test2 test3 test4

解決方案:

解決方案:
SELECT GROUP_CONCAT(DISTINCT categories ORDER BY categories ASC SEPARATOR ' ') FROM table

test1 test2 test3 test4
解決方案:解🎜 >要從GROUP_CONCAT() 結果中消除重複值,請使用DISTINCT屬性如下所示:DISTINCT 屬性確保連線字串中僅包含唯一值。 ORDER BY 子句用來依升序對值進行排序。結果是一個以逗號分隔的字串,只包含不同的類別:

以上是如何從 MySQL 的 GROUP_CONCAT() 函數中刪除重複項?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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