Access SQL agregate函数查询

Access SQL agregate函数查询,sql,ms-access-2007,Sql,Ms Access 2007,我想通过SQL查询从下表中提取聚合统计信息: Company | Product X1 | ProdX2 | ... | ProdX10 | ProdY1 | ProdY2 | ... | ProdY10 ABC 5 3 ... 6 5 8 ... 12 EDF 2 NULL ... 5

我想通过SQL查询从下表中提取聚合统计信息:

        Company | Product X1 | ProdX2 | ... | ProdX10 | ProdY1 | ProdY2 | ... | ProdY10

    ABC               5         3      ...     6           5       8      ...      12
    EDF               2        NULL    ...     5          Null     1      ...       6
     .                .         .       .      .           .       .       .        . 
     .                .         .       .      .           .       .       .        .
     .                .         .       .      .           .       .       .        . 
    XYZ             NULL        3      ...     14          7       2      ...       8 
查询的结果应该是这样的(其他设计建议值得赞赏)

我对不同的聚合函数很满意,当然Covar(X1,Y1)=Covar(Y1,X1)

但是,我不知道如何创建返回所需结果的查询。 任何建议都将不胜感激


非常感谢。

您的模式有点缺陷。每个产品都有一个单独的列,但这不适用于统计查询。您需要一个只有3列的表—Company、ProductId、Value。通过这种方式,您还可以支持新产品-您只需添加一个新行。为什么要为产品旋转平均值、最小值、最大值?这不应该是一家公司吗?没有多大意义:$。。。您需要的是unpivot函数。@Justus:谢谢您的评论。我会考虑的。@bonCodigo:的确,计算产品的统计数字似乎有些奇怪,但这正是我想做的@祖白,我现在注意到了。1.您想将每个产品与另一个产品进行比较,而不考虑公司?对吗?2.在这种情况下,对于产品与产品,您能否与我们分享最小值、最大值和平均值的含义?您希望聚合哪些数据,以及按什么聚合?一旦X,Y被发现,协方差是直接向前的。但是为了找到X,Y,你们的参数是什么?基于您给出的表格的逻辑是什么?
Product   |   Average   |      Min     | Covariance with corresponding X or Y Product
ProdX1      Avg(ProdX1)    Min(ProdX1)    Covar(ProdX1,ProdY1)   
ProdX2      Avg(ProdX2)    Min(ProdX2)    Covar(ProdX2,ProdY2)
  .
  .
  .
ProdY10     Avg(ProdY1)   Min(ProdY10)    Covar(ProdY10,ProdX10)