如何在交叉查询中获得平均值和求和值?

时间:2009-06-10 18:47:46

标签: sql database ms-access-2007

我以前曾问过,但仍然没有回答。

交叉查询是否可以执行此操作? (在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

如何获得平均值和总和?

2 个答案:

答案 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)

不,您不能使用交叉表查询执行此操作 - 交叉表中只能有一个“值”列。我认为你必须构建两个查询 - 一个用于求和,一个用于平均值,然后以某种方式组合信息。它们至少会有相同的列。