想在 N1QL 中进行数组乘法
want to array multiplication in N1QL
我有 JSON 如下所示
{
"_type": "Usage",
"bids": [
{
"bid": 0.015,
"clicks": 13,
"endTime": "2016-06-01T00:31:39.000Z",
},
{
"bid": 0.023,
"clicks": 1731,
"endTime": "2016-06-01T03:08:30.000Z",
},
{
"bid": 0.025,
"clicks": 604,
"endTime": null,
}
],
"campaignId": 2229,
}
我想在 bids 中增加点击次数和出价 但是当我 运行 下面的查询结果为空 ARRAY_SUM( ( bids[*
] .clicks )*(出价[*
].出价))
select campaignId,ARRAY_MAX(bids[*].startTime) date,
ARRAY_SUM(bids[*].clicks) clicks,ARRAY_SUM((bids[*].clicks)*(bids[*].bid)) total
from Default where _type="DailyCampaignUsage";
但总计为 NULL
您想为数组的每个元素乘以单独的 clicks/bid 值。请注意,bids[].clicks 会生成一组点击值,而“”是 basic/scalar 数据类型的乘法运算符。所以,试试这个:
SELECT campaignId,ARRAY_MAX(bids[*].endTime) date,
ARRAY_SUM(bids[*].clicks) clicks,
ARRAY_SUM(ARRAY x.clicks * x.bid FOR x IN bids END) total
FROM default
WHERE _type="DailyCampaignUsage";
-普拉萨德
我有 JSON 如下所示
{
"_type": "Usage",
"bids": [
{
"bid": 0.015,
"clicks": 13,
"endTime": "2016-06-01T00:31:39.000Z",
},
{
"bid": 0.023,
"clicks": 1731,
"endTime": "2016-06-01T03:08:30.000Z",
},
{
"bid": 0.025,
"clicks": 604,
"endTime": null,
}
],
"campaignId": 2229,
}
我想在 bids 中增加点击次数和出价 但是当我 运行 下面的查询结果为空 ARRAY_SUM( ( bids[*
] .clicks )*(出价[*
].出价))
select campaignId,ARRAY_MAX(bids[*].startTime) date,
ARRAY_SUM(bids[*].clicks) clicks,ARRAY_SUM((bids[*].clicks)*(bids[*].bid)) total
from Default where _type="DailyCampaignUsage";
但总计为 NULL
您想为数组的每个元素乘以单独的 clicks/bid 值。请注意,bids[].clicks 会生成一组点击值,而“”是 basic/scalar 数据类型的乘法运算符。所以,试试这个:
SELECT campaignId,ARRAY_MAX(bids[*].endTime) date,
ARRAY_SUM(bids[*].clicks) clicks,
ARRAY_SUM(ARRAY x.clicks * x.bid FOR x IN bids END) total
FROM default
WHERE _type="DailyCampaignUsage";
-普拉萨德