У меня есть столбец, сохраненный в JSON, который выглядит как
имя столбца: s2s_payload
Значения:
{
"checkoutdate":"2019-10-31",
"checkindate":"2019-10-30",
"numtravelers":"2",
"domain":"www.travel.com.mx",
"destination": {
"country":"MX",
"city":"Manzanillo"
},
"eventtype":"search",
"vertical":"hotels"
}
Я хочу запросить точные значения в массиве, ачем возвращать все значения для определенного типа данных. Я использовал JSON_EXTRACT, чтобы получить различное число.
SELECT
COUNT(JSON_EXTRACT(s2s_payload, '$.destination.code')) AS total,
JSON_EXTRACT(s2s_payload, '$.destination.code') AS destination
FROM
"db"."events_data_json5_temp"
WHERE
id = '111000'
AND s2s_payload IS NOT NULL
AND yr = '2019'
AND mon = '10'
AND dt >= '26'
AND JSON_EXTRACT(s2s_payload, '$.destination.code')
GROUP BY
JSON_EXTRACT(s2s_payload, '$.destination.code')
Если я хочу отфильтровать, где "" тип события ":" "поиск" ", как я могу это сделать?
Я пытался использоватьCAST (s2s_payload AS CHAR) = '{"eventtype" ":" "search"}', но это не сработало.