Как посчитать уникальный вложенный ключ / значения в json в postgres?
Каждая запись user
имеет столбец json с именем hobby_years
, который структурирован, как показано ниже, но отличается от пользователя к пользователю.
Пример hobby_years
значение для пользователя:
{
"soccer": {
"2006": 1,
"2007": 1
},
"skiing": {},
"basketball": {
"2006": 1,
"2016": 1,
"2017": 1,
"2018": 1
},
"painting": {
"2008": 1,
"2009": 1,
"2014": 1,
"2015": 1,
"2016": 1
}
}
Я хотел бы знать, сколько уникальных лет существует в одном или нескольких конкретных увлечениях. Т.е. футбол и баскетбол - который должен вернуть 5
.
В качестве альтернативы, у меня есть возможность структурировать данные, как показано ниже, если это облегчит эту деятельность
{
"soccer": [2006, 2007],
"skiing": [],
"basketball": [2006, 2016, 2017, 2018],
"painting": [2008, 2009, 2014, 2015, 2016]
}
Возможно ли это?