【问题标题】:How can I convert multiple column into one column with comma separated value in MySql如何在 MySql 中将多列转换为一列用逗号分隔的值
【发布时间】:2019-11-20 08:45:34
【问题描述】:

我有一个带有 15 列 的 MySql 表,我想将 最后 12 列的所有值放入一列,并用逗号分隔。

我的表名是 MyTable-

User Name     User ID     JAN   FEB   MAR   APR ...
User 01       001         10     30    40    50 ....
User 02       002          44     54   33    90 ..

我想要这样的结果 -

User Name     User ID     Values
User 01       001         '10','30','40','50'
User 02       002         '44','54','33','90'

我怎样才能在 MySql Query 中做到这一点。

感谢您的建议。

【问题讨论】:

  • 你可以使用 concat('''JAN,'','',FEB,'''...)

标签: mysql sql concat group-concat


【解决方案1】:

使用CONCAT_WS(separator,str1,str2,...):

SELECT
    `User Name`,
    `User ID`,
    CONCAT_WS(',', JAN, FEB, MAR, APR, ...) as `Values`
FROM mytable

CONCAT()相比,您可以节省一些代码字节,因为您只需要编写一次分隔符。

【讨论】:

  • @RifatTanjir 。 . . concat_ws() 绝对是更好的选择。
【解决方案2】:

你可以使用如下的 concat 方法-

SELECT 
`user name`,
`user id`,
CONCAT("'",JAN,"','",FEB,"'" ....) 'Values'
FROM MyTable

【讨论】:

    【解决方案3】:

    使用连接

    select username,userid,concat(jan,',',feb,',',mar,',',apr) from table
    

    【讨论】:

      猜你喜欢
      • 2020-04-07
      • 1970-01-01
      • 2012-12-02
      • 2021-09-06
      • 1970-01-01
      • 1970-01-01
      • 2014-08-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多