我以前曾问过,但仍然没有回答。
交叉查询是否可以执行此操作? (在Access 2007中)
我有这张桌子:
50 | A1
60 | A1
70 | B1
80 | B1
90 | C1
我需要得到这个结果:
A1 B1 C1
sum | avg sum | avg sum | avg
55 | 110 75 | 130 90 | 90
我试着写下这个:
TRANSFORM Sum(Worki.Value) AS XXsum
SELECT Worki.Name AS Name, Worki.Tdate AS Tdate, Worki.ID AS ID
FROM Worki
GROUP BY Worki.Name, Worki.Tdate, Worki.IDPIVOT Worki.Trit
如何获得平均值和总和?
答案 0 :(得分:1)
您可以使用SQL函数SUM()和AVG()。要获得A1,B1,C1类型的总和,可以使用以下查询:
SELECT Worki.ID, SUM(Worki.Value), AVG(Worki.Value) FROM Worki GROUP BY Worki.ID, Worki.Name, Worki.Tdate
返回
A1 110 55 B1 150 75 C1 90 90
抱歉,我对格式化没有帮助
答案 1 :(得分:1)
不,您不能使用交叉表查询执行此操作 - 交叉表中只能有一个“值”列。我认为你必须构建两个查询 - 一个用于求和,一个用于平均值,然后以某种方式组合信息。它们至少会有相同的列。