Você pode fazer isso no MySQL 8.0 com JSON_TABLE() :
select r.res from mytable,
json_table(mytable.content, '$[*]' columns (res int path '$')) r
where mytable.id = 1
Eu testei no MySQL 8.0.17, e esta é a saída:
+------+
| res |
+------+
| 3 |
| 4 |
+------+
Se você usa uma versão anterior ao MySQL 8.0, você tem estas opções:
- Encontre uma solução SQL incrivelmente complexa. Essa é quase sempre a maneira errada de resolver o problema, porque você acaba com um código muito caro para manter.
- Busque a matriz JSON como está e exploda-a no código do aplicativo.
- Normalize seus dados para que você tenha um valor por linha, em vez de usar matrizes JSON.
Muitas vezes encontro perguntas no Stack Overflow sobre o uso de JSON no MySQL que me convencem de que esse recurso arruinou o MySQL. Os desenvolvedores continuam usando-o de forma inadequada. Eles gostam que facilita a inserção dados semiestruturados, mas eles descobrem que isso torna a consulta esses dados muito complexos.