Couchbase N1QL 想要 return 项并计数
Couchbase N1QL want to return items and count
想弄清楚如何让我的沙发底座 return 成为一个像这样的物体:
{
items: [],
totalItemsCount: T<number>,
}
我的 select 格式如下:
SELECT a.*, ( SELECT COUNT(*) FROM table b WHERE b.environment = "test" AND b.DocType = "GM360.User") as Count
FROM table a WHERE a.environment = "test"
AND a.DocType = "Moderator.User"
limit 5 offset (5 * (1 -1) )
结果如下:
[
{ Accounts: [], UserId: 1, Count: 199 },
{ Accounts: [], UserId:, 2, Count: 199 },
]
以下查询给出了您期望的结果对象。如果那还不把问题说清楚
SELECT (SELECT RAW a
FROM table AS a
WHERE a.environment = "test" AND a.DocType = "Moderator.User") AS items,
(SELECT RAW COUNT(1)
FROM table b
WHERE b.environment = "test" AND b.DocType = "GM360.User")[0] AS totalItemsCount;
或
SELECT SUM(CASE WHEN a.DocType = "GM360.User" THEN 1 ELSE 0 END) AS totalItemsCount,
ARRAY_AGG(CASE WHEN a.DocType = "Moderator.User" THEN a ELSE MISSING END) AS items
FROM table AS a
WHERE a.environment = "test" AND a.DocType IN ["Moderator.User", "GM360.User"];
想弄清楚如何让我的沙发底座 return 成为一个像这样的物体:
{
items: [],
totalItemsCount: T<number>,
}
我的 select 格式如下:
SELECT a.*, ( SELECT COUNT(*) FROM table b WHERE b.environment = "test" AND b.DocType = "GM360.User") as Count
FROM table a WHERE a.environment = "test"
AND a.DocType = "Moderator.User"
limit 5 offset (5 * (1 -1) )
结果如下:
[
{ Accounts: [], UserId: 1, Count: 199 },
{ Accounts: [], UserId:, 2, Count: 199 },
]
以下查询给出了您期望的结果对象。如果那还不把问题说清楚
SELECT (SELECT RAW a
FROM table AS a
WHERE a.environment = "test" AND a.DocType = "Moderator.User") AS items,
(SELECT RAW COUNT(1)
FROM table b
WHERE b.environment = "test" AND b.DocType = "GM360.User")[0] AS totalItemsCount;
或
SELECT SUM(CASE WHEN a.DocType = "GM360.User" THEN 1 ELSE 0 END) AS totalItemsCount,
ARRAY_AGG(CASE WHEN a.DocType = "Moderator.User" THEN a ELSE MISSING END) AS items
FROM table AS a
WHERE a.environment = "test" AND a.DocType IN ["Moderator.User", "GM360.User"];