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