如何将 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()
相比,您可以节省一些代码字节,因为您只需要编写一次分隔符。
我有一个 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()
相比,您可以节省一些代码字节,因为您只需要编写一次分隔符。