本帖最后由 sonyicn 于 2012-5-29 16:41 编辑
对于一张表 t_test 中,
根据两行数据的A、B、C字段值是否相同,来判定两行数据的相似度的高低。如:以下按顺序相似度依次降低:
字段A相同、字段B相同、字段C相同:相似度最高
字段A相同、字段B相同、字段C不同:相似度次之
字段A相同、字段B不同、字段C相同:相似度再次之
字段A相同、字段B不同、字段C不同:相似度再次之
字段A不同、字段B相同、字段C相同:相似度再次之
字段A不同、字段B相同、字段C不同:相似度再次之
字段A不同、字段B不同、字段C相同:相似度再次之
字段A不同、字段B不同、字段C不同:相似度最低
按照数据的相似度,将表中的数据进行两两配对,相似度越高的两条数据越优先配对,怎样用SQL写出这张表里最好的配对方法啊?
测试数据如下:
create table t_test(
id number
,A varchar2(5)
,B varchar2(5)
,C varchar2(5)
);
insert into t_test(id, A, B, C) values(1, 'A8', 'B2', 'C5');
insert into t_test(id, A, B, C) values(2, 'A1', 'B2', 'C5');
insert into t_test(id, A, B, C) values(3,