Привет всем, у меня есть вопрос о запросе в MySQL
У меня есть имя таблицы TEST, как это
Column_1 Column_2 Class
5 9 A
2 6 B
4 3 B
7 3 C
И я хочу сделать вывод запроса таким образом
[[5,9], [2,6], [4,3] ,[7,3]] , ['A', 'B', 'B', 'C']
How/What MySQL, который может сделать такой вывод? Спасибо
Я не знаю, почему вам это нравится, но вы можете сделать это с помощью запроса mysql. Ответ представляет собой строку в этом формате.
Запрос:
SELECT
CONCAT(
'[',
GROUP_CONCAT(CONCAT('[', Column_1, ', ', Column_2, ']')),
', ',
CONCAT('[',GROUP_CONCAT( CONCAT('''',Class), ''''), ']'),
']'
) AS result
FROM TEST
;
Ответ: [[5, 9], [2, 6], [4, 3], [7, 3], ['A', 'B', 'B', 'C']]
Мы можем достичь этого результата, используя комбинацию GROUP_CONCAT
и CONCAT
, применяемую по всей таблице:
SELECT
CONCAT('[[',
GROUP_CONCAT(Column_1, ',', Column_2 SEPARATOR '], ['),
']] , [''',
GROUP_CONCAT(Class SEPARATOR ''', ''' ),
''']') AS output
FROM yourTable;
У меня такое ощущение, что, возможно, вы планируете работать с данными JSON. Если это так, посмотрите на поддержку MySQL для функций JSON. Или вы можете рассмотреть возможность решения этой проблемы вывода в своем слое/языке презентации.