У меня есть поле JSON в таблице, как показано ниже
{
"Ui": [
{
"element": "TG1",
"mention": "in",
"time": 123
},
{
"element": "TG1",
"mention": "out",
"time": 125
},
{ "element": "TG2",
"mention": "in",
"time": 251
},
{
"element": "TG2",
"mention": "out",
"time": 259
}
]
}
Мое намерение - получить что-то вроде ниже
| element | Timespent |
| TG1 | 2 |
| TG2 | 8 |
но были полностью неудачны.
Как бы я получил разницу (сумма за все время, когда упоминание включено - сумма за все время, когда упоминание отсутствует)?
В настоящее время я пытаюсь сделать sum(jsonb_extract_path(data::jsonb, 'ui','hovers')->0->'when')
, чтобы получить сумму, но не могу понять, как рекурсивно заглянуть в файл json и отфильтровать его.