Access SQL agregate函数查询
我想通过SQL查询从下表中提取聚合统计信息: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
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)