Если у вас есть неассоциативный массив JSON, и вы хотите разложить его по строкам в запросе SELECT в MySQL, вам потребуется использовать функцию JSON_TABLE.
JSON_TABLE позволяет вам разложить массив JSON по строкам, создавая виртуальную таблицу с разложенными значениями. Вот пример запроса, который демонстрирует эту функцию:
SELECT j.val1, j.val2 FROM your_table, JSON_TABLE(your_column, '$[*]' COLUMNS ( val1 INT PATH '$', val2 VARCHAR(255) PATH '$' ) ) AS j;
your_table
- это имя вашей таблицы, где хранится столбец с массивом JSON.your_column
- это имя столбца, содержащего неассоциативный массив JSON.
В примере выше мы создаем виртуальную таблицу j
, используя JSON_TABLE
, и определяем столбцы val1
и val2
, которые будут содержать значения из массива JSON.
val1
- это целочисленное значение, полученное из пути'$'
.val2
- это строковое значение, полученное из пути'$'
.
Вы можете добавить столько столбцов, сколько вам нужно, в вашем запросе SELECT.
Таким образом, при выполнении этого запроса, каждая строка в таблице будет содержать значения из разложенного массива JSON.