目前遇到一个问题,想不到办法解决,请教高手指点。原始数据量比较大(几万条记录),我举一个简单例子
ID A B
1001 a1 b1
1001 a1 b2
1001 a1 b1
1001 a1 b2
1002 a1 b1
1003 a1 b3
1004 a2 b3
1004 a2 b4
1004 a3 b3
1004 a3 b4
对于这样的数据,ID为交易记录号,本例中为4条。现在想得到如下数据,以a1,b1组合为例:x1为4条记录中含有a1,b1的组合数(2条),x2为4条记录中含有a1,但是不含有b1的组合数(1条),x3为4条记录中含有b1,但是不含有a1的组合数(0条),x2为4条记录中不含有a1且不含有b1的组合数(1条),x1+x2+x3+x4总和为4。拓展至其他组合,结果如下:
ID A B x1 x2 x3 x4 N
1001 a1 b1 2 1 0 1 4
1001 a1 b2 1 1 0 2 4
1001 a1 b1 2 1 0 1 4
1001 a1 b2 1 1 0 2 4
1002 a1 b1 2 1 0 1 4
1003 a1 b3 1 2 1 0 4
1004 a2 b3 1 1 1 1 4
1004 a2 b4 1 1 0 2 4
1004 a3 b3 1 0 1 2 4
1004 a3 b4 1 0 0 3 4
以上只是一个简单举例 实际数据A与B均为中文,并无规律性可言(并非按a,b字母开头)
请教如何实现以上预期结果?SQL语句是否可行?想了半天没有想出来,盼指教!