在作查詢的時候遇到一個問題,今天分享一下解決方法。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 '分隔符'])