如何将 MySql 中的多列转换为逗号分隔值的一列

How can I convert multiple column into one column with comma separated value in MySql

我有一个 MySql table 和 15 列 ,我想将 最后 12 列的所有值合并为一个列 以逗号分隔。

我的 table 名字就像 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 查询。

感谢您的建议。

使用连接

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

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

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

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

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

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