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 '分隔符'])

相关文章
相关标签/搜索