Ну, я настоятельно рекомендую обновить, этот запрос больше предназначен для развлечения.
Запрос
SELECT
DISTINCT
SUBSTRING_INDEX(
SUBSTRING_INDEX(
records.cvs
, ','
, number_generator.number
)
, ','
, -1
) array_part
FROM (
SELECT
@row := @row + 1 AS number
FROM (
SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9
) row1
CROSS JOIN (
SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9
) row2
CROSS JOIN (
SELECT @row := 0
) init_user_params
) AS number_generator
CROSS JOIN (
SELECT
# parse out the 1,2,3 part from [1,2,3] part
SUBSTRING (
# parse out the [1,2,3] part
SUBSTRING(
records.json
, (LOCATE(':', records.json) + 1)
)
, 2
, LENGTH(
# parse out the [1,2,3] part
SUBSTRING(
records.json
, (LOCATE(':', records.json) + 1)
)
) - 2
) AS cvs
FROM (
SELECT
'"clients":[1,2,3]' AS json
) AS records
) AS records
Результат
| array_part |
| ---------- |
| 1 |
| 2 |
| 3 |
см. демо