我有以下Postgres查询:
SELECT array_agg("Esns".id )
FROM public."Esns",
public."PurchaseOrderItems"
WHERE
"Esns"."PurchaseOrderItemId" = "PurchaseOrderItems".id
AND "PurchaseOrderItems"."GradeId"=2
LIMIT 2;
Run Code Online (Sandbox Code Playgroud)
限制将影响行.我希望它限制array_agg()为2项.以下查询有效,但我在输出中输入每个条目:
SELECT array_agg ("temp")
FROM (
SELECT "Esns".id
FROM public."Esns",
public."PurchaseOrderItems"
WHERE
"Esns"."PurchaseOrderItemId" = "PurchaseOrderItems".id
AND "PurchaseOrderItems"."GradeId"=2
LIMIT 4
) as "temp" ;
Run Code Online (Sandbox Code Playgroud)
这给了我以下输出
{(13),(14),(15),(12)}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我有以下查询:
SELECT sum((select count(*) as itemCount) * "SalesOrderItems"."price") as amount, 'rma' as
"creditType", "Clients"."company" as "client", "Clients".id as "ClientId", "Rmas".*
FROM "Rmas" JOIN "EsnsRmas" on("EsnsRmas"."RmaId" = "Rmas"."id")
JOIN "Esns" on ("Esns".id = "EsnsRmas"."EsnId")
JOIN "EsnsSalesOrderItems" on("EsnsSalesOrderItems"."EsnId" = "Esns"."id" )
JOIN "SalesOrderItems" on("SalesOrderItems"."id" = "EsnsSalesOrderItems"."SalesOrderItemId")
JOIN "Clients" on("Clients"."id" = "Rmas"."ClientId" )
WHERE "Rmas"."credited"=false AND "Rmas"."verifyStatus" IS NOT null
GROUP BY "Clients".id, "Rmas".id;
Run Code Online (Sandbox Code Playgroud)
问题是表"EsnsSalesOrderItems"可以EsnId在不同的条目中具有相同的表.我想将查询限制为仅拉取"EsnsSalesOrderItems"具有相同的最后一个条目"EsnId".
"最后"条目我指的是以下内容:
表中最后出现的那个"EsnsSalesOrderItems".因此,例如,如果"EsnsSalesOrderItems"有两个条目和"EsnId" = 6和 …