按键统计mysqljson中的数据

Count data in mysql json by key

我在 mysql 8 工作,在计算 json 格式字段中的数据时遇到问题。这是我的table:

我想统计 absensi 字段中的数据,其中键为“657”,值为“0”。所以,通过这个 table 它必须给我结果 4。

我尝试使用 JSON_EXTRACT(absensi, '$.657') 但总是给我一些错误 [42000][3143] Invalid JSON path expression. The error is around character position 6.

你能帮我解决这个问题吗?

提前致谢...

您的 key 值为 string。将其视为 string 而不是 integer.

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

如果您将字段用作 key 值,则可以使用 concat() 函数构建 parameter

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

参见 dbfiddle