MySQL GROUP_CONCAT()函數 -- 字段合併查詢

在作查詢的時候遇到一個問題,今天分享一下解決方法。sql

先看一下我想要什麼效果。函數

清單名稱類型要點,後面兩列爲清單步驟(外鍵表)spa

但我並不想讓主表的內容重複那麼多遍,因而 distinct去重、子查詢、左右內鏈接查詢 各類試 都達不到效果。blog

有朋友跟我說了Oracle中的WM_CONCAT() 函數 能夠將多數據合併爲一列 ,在MySQL中試了下 沒有這個函數 就搜了一下排序

而後這裏介紹一下Mysql的多數據合併GROUP_CONCAT()函數字符串

經過使用DISTINCT能夠排除重複值;若是但願對結果中的值進行排序,能夠使用ORDER BY子句語法

這裏我就用不到排序了,就沒有使用。感興趣的能夠本身試下方法

 可是這裏發現一個問題,合併後發現他是用逗號隔開的,而個人步驟名稱裏本身就有逗號句號之類的符號,這該怎麼拆分呢?im

就用到 SEPARATOR 關鍵字 它是一個字符串值,缺省爲一個逗號。d3

這裏 咱們發現我並無加SEPARATOR關鍵字,默認就是逗號了。找到緣由就好辦了,看一下效果

 

最後附上GROUP_CONCAT()語法

  GROUP_CONCAT([DISTINCT] 要鏈接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])

相關文章
相關標籤/搜索