【问题标题】:How to concat all values of single column in mysql如何连接mysql中单列的所有值
【发布时间】:2017-02-21 03:43:43
【问题描述】:

我在示例表 1 中有 A 列。 A 列的值如下。

+----+
| A  |
+----+
| a1 |
| a2 |
| a3 |
| a4 |
| a5 |
+----+

我需要一个应该给出以下输出的查询。 所有的值都应该是

"a1","a2","a3","a4","a5"

有办法吗?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    您可以使用 CONCATGROUP_CONCAT

    的组合

    查询

    SELECT GROUP_CONCAT(CONCAT('"', A, '"')) AS `combined_A`
    FROM `your_table_name`;
    

    如果您想删除重复项。然后使用DISTINCTGROUP_CONCAT

    查询

    SELECT GROUP_CONCAT(DISTINCT CONCAT('"', `A`, '"')) AS `combined_A`
    FROM `your_table_name`;
    

    SQL Fiddle demo

    【讨论】:

    • 如果我需要a1&a2&a3&a4&a5(中间没有,)怎么办?
    • @June : 你可以使用separator '&'Group_Concat
    【解决方案2】:

    使用 GROUP_CONCAT() 函数来实现。

    SELECT GROUP_CONCAT(<Type your column name here> SEPARATOR ', ') FROM <Table Name>;
    

    查询您提供的示例:

    SELECT GROUP_CONCAT(A SEPARATOR ', ')  FROM Table1;
    

    【讨论】:

      【解决方案3】:

      你必须使用group concat 函数来完成类似的事情

      SELECT , GROUP_CONCAT(A SEPARATOR ', ') FROM Table1 分组依据

      如果您没有 id,则必须使用常量进行分组。另请注意,您的结果有 1024 字节字符限制unless you override it

      【讨论】:

      • 在这个实例中没有 GROUP BY
      猜你喜欢
      • 1970-01-01
      • 2016-04-20
      • 2010-11-01
      • 1970-01-01
      • 2013-07-07
      • 2014-10-13
      • 2016-11-19
      • 2013-04-04
      • 1970-01-01
      相关资源
      最近更新 更多