我想为每个行(类别)看到 SUM (转化支出),并通过另一个字段(Media_Type)进行转换。下面的代码适用于此,除了我添加的ORDER BY子句,因为我希望我的输出行按每行的 总 开销排序。 / p>
TRANSFORM Sum([Spending])
SELECT [Category],
SUM([Spending])
FROM [Data]
GROUP BY [Category]
ORDER BY SUM([Spending]) DESC
PIVOT [Media_Type] IN ("TV","Print","Internet")
;
当我添加ORDER BY命令时,我收到错误:'ORDER BY子句中不能有聚合函数'。我该如何解决这个问题并将我的行分组并汇总?
答案 0 :(得分:1)
This article表示您的SQL应该有效,另一种选择(但绝不是很好)选项可以将您的查询移到另一个查询的FROM
部分,例如
SELECT
*
FROM (
-- Your Query Here (but you'll have to name the SUM column) --
) x
ORDER BY
columnName DESC`
我猜测Access没有SQL Server中可用的OVER
子句,否则可能会使用它。
答案 1 :(得分:0)
TRANSFORM Sum([Spending])
选择[类别],SUM([支出])作为总和FROM [数据] GROUP BY [类别] ORDER BY sum DESC
PIVOT [Media_Type] IN(“电视”,“打印”,“互联网”) ;