Как я могу преобразовать несколько столбцов в один столбец с разделенным запятыми значением в MySql - PullRequest
0 голосов
/ 10 июля 2019

У меня есть таблица MySql с 15 столбцом , и я хочу получить все значения последних 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.

Спасибо за совет.

Ответы [ 3 ]

1 голос
/ 10 июля 2019

Использование CONCAT_WS(separator,str1,str2,...):

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

Вы можете сохранить несколько байтов кода по сравнению с CONCAT(), поскольку разделитель необходимо записать только один раз.

1 голос
/ 10 июля 2019

использовать concat

select username,userid,concat(jan,',',feb,',',mar,',',apr) from table
0 голосов
/ 10 июля 2019

Вы можете использовать метод concat, как показано ниже -

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