Cuando trabajamos con bases de datos, puede ocurrir que tengamos datos almacenados en una tabla(o varias), en formato JSON.
Es decir:
[{«count»:x,»content»:»feelings»}], [{«count»:y,»content»:»peace»}], …
Y debemos poder trabajar con dicho formato en nuestra base de datos para mostrar la información pertinente.
Si queremos pintar gráficas por ejemplo y queremos sólo el valor (por ejemplo), deberemos usar la función JSON_EXTRACT.
Es decir, queremos obtener todas las edades de nuestro campo: edad.
[{«count»:20,»age»:»19″}], [{«count»:142,»age»:»27″}],…
Sabemos que 20 usuarios tienen 19 años y 142, 27. Pero nosotros queremos el valor. Únicamente el valor.
Así que, vamos a preparar la sentencia para obtener dicho dato:
SELECT demo_name AS 'Demo Name', JSON_EXTRACT(ageT, '$[*].age') AS Edad FROM table_demo WHERE demo_name= demo_name ORDER BY JSON_EXTRACT(ageT, '$[*].age') DESC
Cogemos el valor (en este caso age), que es lo que necesitamos para poder trabajar.
Podríamos usar tambien el operador -> , que es idéntico a JSON_EXTRACT:
edad->'$.ageT.age'
Saludos