テーブルには NAME 列と DISTANCE 列があります。同じ名前から N ユニット以内にあるすべての名前をリストする方法を見つけたいと思います。すなわち与えられた:
NAME DISTANCE
a 2
a 4
a 3
a 7
a 1
b 3
b 1
b 2
b 5
(N = 2 としましょう)
a 2
a 4
a 3
a 1
...
...
2 a 2 の代わりに (二重にカウントされるため)
このメソッドを適用して、互いにクラスターに表示される請求日 (数値として格納されている) を持つ customerID を解決しようとしています。customerID と、同じ顧客による別の請求から 10 日以内の請求日をラベル付けできるようにしたいと考えています。つまり、|a.claimdate - b.claimdate| <= 10.このメソッドを使用すると
WHERE a.CUSTID = b.CUSTID
AND a.CLDATE BETWEEN (b.CLDATE - 10 AND b.CLDATE + 10)
AND a.CLAIMID <> b.CLAIMID
ダブルカウントします。CLAIMID はユニークです。