GROUP_CONCAT用逗号清空字符串

时间:2017-12-01 19:12:48

标签: php mysql sql

我有一个包含2列的表(带有一些空字符串)

column1 column2
          A1
          B2
   C      C1
   D
   E      E1

  

如果我使用GROUP_CONCAT(column1),则输出为:

C,D,E

但我想要

, , C, D, E

因为在我的PHP文件中,我使用explode()来转换数组中的字符串。 如果我使用GROUP_CONCAT(column2),输出是正确的:

A1, B2, C1, , E1

有什么想法吗?

编辑 - 也许我明白了这个错误。我使用DISTINCT:

GROUP_CONCAT(DISTINCT(column1))  

所以,如果我有2个空字符串,它们就变成一个,输出通常只有一个“,”。 Somone知道如何仅为空字符串删除DISTINCT?

1 个答案:

答案 0 :(得分:0)

问题是NULL值。 GROUP_CONCAT()忽略了它们。所以,替换它们:

GROUP_CONCAT(COALESCE(column1, ' '))

实际上,您的输出看起来更像是:

GROUP_CONCAT(COALESCE(column1, '') SEPARATOR ', ')