我有一个带有多个标签的测量商店销售。我想做一个分组依据 仅在标签上 商店编号 和 月份 并将其保存到另一个测量中。
测量上的这个分组依据是我想插入到另一个测量中的结果:
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"部分。