我有一个天气类型表:组组合和尽数
BaseVar | BaseDate | BaseAttr1 | BaseAttr2 | DependVar | DependDate | DependAttr1 | DependAttr2 |
VarA 01/01 -1 -1 VarA 01/01 -1 -1
VarA 01/01 -1 -1 VarB 01/01 1 1
VarA 01/01 -1 -1 VarC 01/01 -1 -1
VarB 01/01 1 1 VarA 01/01 -1 -1
VarB 01/01 1 1 VarB 01/01 1 1
VarB 01/01 1 1 VarC 01/01 -1 -1
VarC 01/01 -1 -1 VarA 01/01 -1 -1
VarC 01/01 -1 -1 VarB 01/01 1 1
VarC 01/01 -1 -1 VarC 01/01 -1 -1
VarA 01/02 -1 1 VarA 01/02 -1 1
VarA 01/02 -1 1 VarB 01/02 -1 -1
VarA 01/02 -1 1 VarC 01/02 -1 -1
VarB 01/02 -1 -1 VarA 01/02 -1 1
VarB 01/02 -1 -1 VarB 01/02 -1 -1
VarB 01/02 -1 -1 VarC 01/02 -1 -1
VarC 01/02 -1 -1 VarA 01/02 -1 1
VarC 01/02 -1 -1 VarB 01/02 -1 -1
VarC 01/02 -1 -1 VarC 01/02 -1 -1
.
.
.
.
.
All the way to 12/30
还有一种情况BaseVar有许多DependVar的一个“1对多”的关系。我的目标是当'BaseVar + WhichBaseAttr + VaseValue'组合出现时,计算出现的每个'DependAttr1 + WhichDependAttr + DependantValue'组合。最后统计他们,以便我可以看到何时发生这种组合......这些组合也会发生这么多次。因此,在给定的一天中,所有变量(VarA,VarB,VarC)都会在它们的Attr1和Attr2列(值可以是1或-1)中分别收到一个值。我已经提供了部分结果(因为组合太多),以便更好地了解我想要完成的工作。我想将我的数据从第一个表格转换为下表。我尝试了不同的分组,但无法使其工作。
BaseVar | WhichBaseAttr| BaseValue| BaseAttrCount() | DependVar | WhichDependAttr | DependantValue| DependAttrCount()|
VarA BaseAttr1 1 0 VarA DependAttr1 1 0
VarA BaseAttr1 1 0 VarA DependAttr1 -1 0
VarA BaseAttr1 -1 2 VarA DependAttr1 1 0
VarA BaseAttr1 -1 2 VarA DependAttr1 -1 2
VarA BaseAttr2 1 1 VarA DependAttr1 1 1
VarA BaseAttr2 1 1 VarA DependAttr1 -1 0
VarA BaseAttr2 -1 1 VarA DependAttr1 1 0
VarA BaseAttr2 -1 1 VarA DependAttr1 -1 1
VarA BaseAttr2 1 1 VarA DependAttr2 1 1
VarA BaseAttr2 1 1 VarA DependAttr2 -1 0
VarA BaseAttr2 -1 1 VarA DependAttr2 1 0
VarA BaseAttr2 -1 1 VarA DependAttr2 -1 1
VarA BaseAttr1 1 0 VarA DependAttr2 1 0
VarA BaseAttr1 1 0 VarA DependAttr2 -1 0
VarA BaseAttr1 -1 2 VarA DependAttr2 1 1
VarA BaseAttr1 -1 2 VarA DependAttr2 -1 1
(Next seqeuence would be :)
VarA VarB
After all those are done:
VarA VarC
Then:
VarB VarA
and so on until it would reach:
VarC VarC
实质上,对于baseVar + baseAttr + baseVal的每个组合,我试图计算每隔一个组合发生的次数。例如(与我的表格无关,只是一个单独的例子):VarB + Attr2 +值= -1发生了29次,当它发生29次时,VarA + Attr1 +值= 1发生了15次,VarA + Attr1 +值= -1发生了6次,以此类推。这会重复,直到我经历了所有的组合。
这不是很清楚,我的问题,为什么'为了by'是对你不好...... – Betlista 2014-09-05 17:24:08
我不知道由什么顺序将通过自身在这种情况下怎么办?我需要对事件进行计数并将其恰当地分组。 – user2924127 2014-09-05 17:32:27
我不明白如何计算'BaseAttrCount()'和'DependAttrCount()'。另外,似乎可以有'BaseAttr3'(例如从你的描述中),但是在SQL中,表格结构并没有改变... – Betlista 2014-09-05 18:05:21