当我知道每个集群的所有成员时,我正在尝试计算集群的数量。
我需要SqlServer2008中的一个函数来解决这个问题。
我的表有超过 1400 万条不同的记录,如下所示:
CREATE TABLE Test
(
F1 varchar(5),
F2 varchar(5)
)
INSERT INTO TEST ( F1, F2) VALUES ( 'A', 'B')
INSERT INTO TEST ( F1, F2 ) VALUES ( 'A', 'K')
INSERT INTO TEST ( F1, F2) VALUES ( 'C', 'H')
INSERT INTO TEST ( F1, F2 ) VALUES ( 'D', 'B')
INSERT INTO TEST ( F1, F2 ) VALUES ( 'F', 'I')
INSERT INTO TEST ( F1, F2 ) VALUES ( 'F', 'B')
INSERT INTO TEST ( F1, F2 ) VALUES ( 'D', 'H' )
INSERT INTO TEST ( F1, F2 ) VALUES ( 'E', 'G' )
INSERT INTO TEST ( F1, F2 ) VALUES ( 'G', 'L' )
注意:
If A=B AND A=K THEN B=K
IF E=G AND G=L THEN E=L
现在函数的输出应该如下:
ClusterNumber--- point
1---A
1---B
1---k
1---D
1---F
1---I
1---H
1---C
2---E
2---G
2---L
我想解决方案将是一个递归函数,但不知道!