第一组查询:
select count(distinct device_ifa) from table_1 where distance_diff <= 50 -- 41504
select count(distinct device_ifa) from table_1 where distance_diff <= 100 -- 69469
select count(distinct device_ifa) from table_1 where distance_diff <= 200 -- 100859
应该与查询的计数完全匹配:
select case when distance_diff <= 50 then '50m'
when distance_diff <= 100 then '100m'
when distance_diff <= 200 then '200m'
end as radius,
count(distinct device_ifa) from table_1
group by 1 order by 1
radius _col1
100m - 62512
200m - 92547
50m - 41504
但是计数不匹配-任何人都可以帮忙。
是的,当您单独运行并使用case语句时,将产生不同的结果。个人将给您提到的准确计数,而案例陈述将以这种方式给数据..
获得不同计数的原因是由于CASE语句功能。
您似乎在问为什么这些方法返回不同的结果。