我有这些记录
id| num
1 | 2.21231
2 | 2.21234
3 | 2.21228
4 | 3.452
5 | 3.45205
6 | 3.45195
我希望将选择项目分组,其中存在.00005或更小的差异,因此在这种情况下1& 2,1& 3,4& 5,4& 6或者如果不可能(1,2,3)和(3,4,5) 这有可能只用mysql吗?
修改 排除的可能性
ROUND
:false negative 0.00004
和0.00005
TRUNCATE
,FLOOR
和CEIL
:误报0.00001
和0.00009
误报0.00009
和0.0011
答案 0 :(得分:3)
你的意思是,像这样? :
SELECT t1.id,
t2.id
FROM the_table t1
JOIN the_table t2
ON t1.id < t2.id
AND ABS(t1.num - t2.num) <= .00005
;
答案 1 :(得分:1)
您可以使用TRUNCATE功能分组:
select ..... group by TRUNCATE(num, 4);