Если у вас есть неассоциативный массив 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.