在資料庫查詢中,GROUP_CONCAT() 函數經常用於將多行中的值連接成單一字串。但是,有時,結果字串可能包含重複值。為了解決這個問題,MySQL 在 GROUP_CONCAT() 中提供了 DISTINCT 屬性。
考慮下表中的「類別」欄位:
categories |
---|
test1 test2 test3 |
test4 |
test1 test3 |
test1 test3 |
如果我們執行以下命令查詢:
SELECT GROUP_CONCAT(categories SEPARATOR ' ') FROM table;
我們將得到以下結果:
test1 test2 test3 test4 test1 test3
但是,我們可能想要排除重複的值,導致:
test1 test2 test3 test4
為了實現這一點,我們只需將DISTINCT 屬性添加到GROUP_CONCAT() 函數:
SELECT GROUP_CONCAT(DISTINCT categories ORDER BY categories ASC SEPARATOR ' ') FROM table;
透過指定DISTINCT,MySQL 將從連接的字串中消除重複值,從而得到所需的輸出。請注意,ORDER BY 子句確保連線的值會依升序排序。
以上是如何從 MySQL 的 GROUP_CONCAT() 結果中刪除重複項?的詳細內容。更多資訊請關注PHP中文網其他相關文章!