使用SQL Server 2005引擎,我的表中碰巧有重复的数据。
在检查校验和值时,重复数据是二进制相同的,但是,containstable
恰好对数据进行了不同的排序。在我的11行样本数据中,有三个不同的不同等级。
Checksum Data Rank
464359846 <My Data Results> 194
464359846 <My Data Results> **194**
464359846 <My Data Results> **259**
464359846 <My Data Results> 259
464359846 <My Data Results> 194
464359846 <My Data Results> 259
464359846 <My Data Results> 194
464359846 <My Data Results> 194
464359846 <My Data Results> 194
464359846 <My Data Results> 194
464359846 <My Data Results> **388**
为什么这11条记录不具备完全相同的排名,因为它们是相同的?
SQL查询:
select
'Checksum' = checksum('sha1',convert(varchar(max),col_A)),
col_A
KeyTbl.Rank
from dbo.table1 a
join containstable(table1, col_A, '"term1" and "term2"') as keytbl
on a.Id = keytbl.[key]
where
a.controlNum = 'i03898385'