【问题标题】:GROUP_CONCAT comma separator - MySQLGROUP_CONCAT 逗号分隔符 - MySQL
【发布时间】:2011-12-03 06:11:09
【问题描述】:

我有一个使用GROUP_CONCAT 和自定义分隔符的查询,因为我的结果可能包含逗号:'----'

这一切都很好,但是它仍然是逗号分隔的,所以我的输出是:

Result A----,Result B----,Result C----

我怎样才能使输出为:

Result A----Result B----Result C----

我认为这是自定义分隔符的想法!

如果做不到这一点,您能否在结果中转义逗号,以便我可以在 PHP 中通过 GROUP_CONCAT 逗号爆炸?

【问题讨论】:

  • 逗号从何而来?它们是分隔符,还是结果的一部分?我不清楚这部分问题。
  • GROUP_CONCAT(artists.artistname, '----') 是我的组连接线 - 如您所见,我没有将逗号作为分隔符 - 它们不在结果中,但显示在输出

标签: mysql group-concat separator


【解决方案1】:

您似乎在 GROUP_CONCAT 函数中缺少 SEPARATOR 关键字。

GROUP_CONCAT(artists.artistname SEPARATOR '----')

按照您的编写方式,您使用默认逗号分隔符将 artists.artistname'----' 字符串连接起来。

【讨论】:

    【解决方案2】:

    或者,如果您要进行拆分 - 加入:

    GROUP_CONCAT(split(thing, " "), '----') AS thing_name,
    

    你可能想包括WITHIN RECORD,像这样:

    GROUP_CONCAT(split(thing, " "), '----') WITHIN RECORD AS thing_name,
    

    来自BigQuery API page

    【讨论】:

      【解决方案3】:

      查询实现您的要求

      SELECT id,GROUP_CONCAT(text SEPARATOR ' ') AS text FROM table_name group by id;
      

      【讨论】:

      • 要求使用----作为分隔符。
      猜你喜欢
      • 1970-01-01
      • 2013-06-02
      • 1970-01-01
      • 2020-07-01
      • 1970-01-01
      • 2016-09-04
      • 2018-10-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多