将分组依据从一个测量值插入到另一个测量值中



我有一个带有多个标签的测量商店销售。我想做一个分组依据 仅在标签上 商店编号 和 月份 并将其保存到另一个测量中。

测量上的这个分组依据是我想插入到另一个测量中的结果:

SELECT SUM(value) 
FROM "DT"."2years"."StoreSales" 
WHERE StoreNumber !='' 
GROUP BY StoreNumber, Month

当我尝试这样做时,我得到"ERR:不支持混合聚合和非聚合查询":

SELECT Sum(value), StoreNumber, Month
INTO "DT"."2years"."StoreSalesByStorByMonth"
FROM "DT"."2years"."StoreSales"
WHERE StoreNumber !=''
GROUP BY StoreNumber, Month

任何人都可以帮助正确的语法吗?

将聚合代码放在子查询中:

SELECT t.sumvalue, t.StoreNumber, t.Month 
INTO "DT"."2years"."StoreSalesByStorByMonth"
FROM (
SELECT Sum(value) sumvalue, StoreNumber, Month
FROM "DT"."2years"."StoreSales" 
WHERE StoreNumber !='' 
GROUP BY StoreNumber, Month
) t

您可以在下面尝试。因为您可以将计算部分作为子查询,并根据需要将最终结果插入表中。

SELECT * INTO "DT"."2years"."StoreSalesByStorByMonth"
FROM ( SELECT Sum(value) as sumvalue , StoreNumber, Month
FROM "DT"."2years"."StoreSales" WHERE StoreNumber !='' GROUP BY StoreNumber, Month) AS D

我非常感谢您的帮助!

我稍微更改了查询,这有效:

SELECT * INTO "StoreSalesByStorByMonth" FROM 
( SELECT Sum(value) FROM "StoreSales" WHERE StoreNumber !='' GROUP BY StoreNumber, Month)

在子查询中,我删除了其他标签,只包含 Sum(value(,并且还跳过了子查询的"AS D"或"AS T"部分。

最新更新