MySQL Query результат в желаемом формате

0

Привет всем, у меня есть вопрос о запросе в 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, который может сделать такой вывод? Спасибо

  • 0
    Вы уже пробовали запрос?
  • 0
    такой вывод не может быть достигнут с помощью реляционных баз данных
Показать ещё 3 комментария
Теги:

2 ответа

0
Лучший ответ

Я не знаю, почему вам это нравится, но вы можете сделать это с помощью запроса 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']]

  • 0
    когда я изменяю это на массив, результатом является Array ([0] => [5, 9], [2, 6], [4, 3], [7, 3]). Как я могу изменить это на Array ([0] => Array ([0] => 5 [1] => 9) [1] => Array ([0] => 2 [1] => 6) [2 ] => Массив ([0] => 4 [1] => 3) [3] => Массив ([0] => 7 [1] => 3)). Спасибо
  • 0
    Я думаю, что это другой вопрос. Подскажите, пожалуйста, какой язык программирования вы используете? и поделиться кодом
0

Мы можем достичь этого результата, используя комбинацию GROUP_CONCAT и CONCAT, применяемую по всей таблице:

SELECT
    CONCAT('[[',
           GROUP_CONCAT(Column_1, ',', Column_2 SEPARATOR '], ['),
           ']] , [''',
           GROUP_CONCAT(Class SEPARATOR ''', ''' ),
           ''']') AS output
FROM yourTable;

Изображение 174551

демонстрация

У меня такое ощущение, что, возможно, вы планируете работать с данными JSON. Если это так, посмотрите на поддержку MySQL для функций JSON. Или вы можете рассмотреть возможность решения этой проблемы вывода в своем слое/языке презентации.

  • 0
    когда я изменяю это на массив, результатом является Array ([0] => [5, 9], [2, 6], [4, 3], [7, 3]). Как я могу изменить это на Array ([0] => Array ([0] => 5 [1] => 9) [1] => Array ([0] => 2 [1] => 6) [2 ] => Массив ([0] => 4 [1] => 3) [3] => Массив ([0] => 7 [1] => 3)). Спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню