SQL案例查询未提供正确的值

问题描述 投票:0回答:3

第一组查询:

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

但是计数不匹配-任何人都可以帮忙。

sql amazon-athena case-when
3个回答
1
投票

是的,当您单独运行并使用case语句时,将产生不同的结果。个人将给您提到的准确计数,而案例陈述将以这种方式给数据..


0
投票

获得不同计数的原因是由于CASE语句功能。


0
投票

您似乎在问为什么这些方法返回不同的结果。

© www.soinside.com 2019 - 2024. All rights reserved.