У меня есть jsons, как показано нижеГруппировки с массивом в формате JSON с N1QL Couchbase
"Company|1000":{
"_id": 1000,
"_type": "Company",
"transactions": [
{
"amount": 96.9,
"date": "2016-10-11T18:30:00.000Z",
},
{
"amount": 77.9,
"date": "2016-9-01T18:30:00.000Z",
}
],
}
Я хочу все счета транзакций группы по месяцам и года Я пытаюсь сделать ниже запрос, но это из пут другой.
select ARRAY DATE_PART_MILLIS(STR_TO_MILLIS(x.date),'month') FOR x IN
Company.transactions END m,
ARRAY DATE_PART_MILLIS(STR_TO_MILLIS(z.date),'year') FOR z IN
Company.transactions END y,
count(CASE WHEN array_count(b) > 0 THEN array_count(b) ELSE 0 END)
Deposits
from Inheritx Company
LET b = ARRAY TONUMBER(x.amount) FOR x in Company.transactions WHEN
x.type IN [0] END
where Company._type="Company"
GROUP BY ARRAY DATE_PART_MILLIS(STR_TO_MILLIS(x.date),'month') FOR x IN
Company.transactions END,
ARRAY DATE_PART_MILLIS(STR_TO_MILLIS(x.date),'year') FOR x IN
Company.transactions END
Я хочу, чтобы из положить как
y m count
2016 9 2
2016 10 12
2016 8 52
Вы должны использовать UNNEST и GROUP BY. – geraldss
спасибо, что это работает –
Пожалуйста, разместите свое решение здесь как ответ, чтобы другие могли его найти. Вы задали хороший вопрос! – geraldss