Подсчитать данные в mysql json по ключу - PullRequest
0 голосов
/ 13 января 2020

Я работаю в mysql 8 и у меня проблема с подсчетом данных в поле формата json. Это моя таблица:

enter image description here

Я хочу посчитать данные в поле absensi, где ключ "657" и значение "0" , Итак, по этой таблице он должен дать мне результат 4.

Я пытался использовать JSON_EXTRACT(absensi, '$.657'), но всегда выдавал ошибку [42000][3143] Invalid JSON path expression. The error is around character position 6.

Можете ли вы помочь мне, как решить эту проблему?

Спасибо заранее ...

1 Ответ

1 голос
/ 13 января 2020

Ваше key значение равно string. Обрабатывайте его как string вместо integer.

select json_extract(absensi, '$."657"')

Если вы используете свое поле в качестве значения key, вы можете построить parameter с помощью функции concat().

select json_extract(absensi, concat('$."', fieldA, '"')) from test;

см. dbfiddle .

...