有表 t_1(c1,c2,c3,c4...)共10个字段,c1是int型主键。t_1有300万笔资料。现在根据c2,c3字段分组,得到行数大于1行的分组有46万组,共100万笔资料。现在根据规则,需要从这46万组的每组中取一条记录。资料表:t_2(c4,col2,col3,col4)col1是字符型主键,有1000笔资料。从46万组中每组取1条记录的规则是:如果有 t_1.c4=t_2.c4 and t_1.c4=t_2.col2时则输出这条记录,否则 如果有t_1.c4=t_2.c4 and t_1.c4=t_2.col3时则输出这条记录,否则从每组中任选一条记录。
我开始用游标按每个分组做,发现在小数据量下可以得出结果,但是在大数据量时运行1天也没有得出结果。请高手指点一下。 

解决方案 »

  1.   

    虽然不知道楼主在说什么,但是还是觉得楼主很牛逼。
      

  2.   

    看来是我没有说清楚,是这样的,就是一个300万行记录的表中有部分记录根据某一个规则去分组,对于每个组中的记录多于1条的分组,我需要取其中的一条记录。取的规则就是我上面写的。不知道说明白了没有