浮动分区消除行

时间:2018-03-20 20:23:50

标签: sql sql-server floating-point

我有一个包含4个主要列的表:Store,TotalCustomers和TotalCustomers30,其中'TotalCustomers30'表示30天前的客户数量。此查询返回10,000行:

select Store,
       CAST(TotalCustomers as float) as TotalCustomers,
       CAST(TotalCustomers30 as float) as TotalCustomers30,
       CAST(TotalCustomers - TotalCustomers30) as float) as diff
from Purchases

我正在尝试通过执行以下操作来计算客户的变化百分比:

select *, CAST(((ISNULL(diff,0)/ISNULL(TotalCustomers30,0))as float) AS percchange
from (
    select Store,
           CAST(TotalCustomers as float) as TotalCustomers,
           CAST(TotalCustomers30 as float) as TotalCustomers30,
           CAST(TotalCustomers - TotalCustomers30) as float) as diff
    from Purchases) a

此第二个查询仅返回20行。返回的行似乎没有任何奇怪或独特的东西。任何人都知道为什么会这样?

0 个答案:

没有答案
相关问题