MySQLでJSON配列列で値を検索する方法は?


あなたの車のショップでは、再構築されたエンジンを持ってどのように多くの車を見つける必要があると仮定し、この列は、故障診断の配列を持つJSONです
どうやってこの質問をすることができますか?

SELECT COUNT(DISTINCT(CARS)) from CARS
where CARS.DIAGNOSES->>"$.diagnoses[*].failure.name" LIKE '%rebuilded engine%'
the ->> 演算子は、抽出結果をunquoteします.つまり、与えられた JSON カラムバリューcolumn とパス式path (文字列リテラル)
The ->> 演算子はどこでも使用できますJSON_UNQUOTE(JSON_EXTRACT()) を返します.これには(SELECT リストWHERE and HAVING 節、およびORDER BY and GROUP BY 条項.
the $. JSONにアクセスできる方法を示します[*] 配列の任意の位置を検索できます.