MYSQL中用于计算每小时销售额的分部问题

时间:2017-11-08 16:48:54

标签: mysql division divide-by-zero

我想帮助查询以确定用户一个月和一年的平均每小时销售额。大多数月份一切都很好,但在这种情况下,它正在生产13884476534.2960。我知道我在这里有一些数学错误,但无法弄明白。我想也许除以零错误但不会返回null?

此表包含一些列,例如您进行销售的一天的开始和结束,表示为unix时间戳(毫秒)。为了便于使用,我还记录了创建的月/日/年。进入闹钟/闹钟时间不是强制性的,所以几个月没有开始/结束时间(在这种情况下,我只是设置开始和结束时间相等;是你进入班次的时间,基本上当前的时间戳)。

正如我所提到的,我想确定销售月份的每小时平均值,所以我这样做,

select  SUM(SalesTotal) / 
       SUM(
           ((SalesDayEndTime - SalesDayStartTime) / (1000.0 * 60.0 * 60.0))       
           )
     from SalesDays s 
     where s.Month = 12 
     AND s.Year = 2016
     AND s.user_id = 1 
     GROUP BY s.Month 

所以在这个特定的月份,我不相信用户输入了他们的时间(所以时钟输入/输出默认为当天的当前进入时间,并且他们是相同的)。 SUM(SalesTotal)产生3846,因此他们在那个月创造了3846。工作时间的总和/ 1000.0 * 60.0 * 60.0产生:0.0000

这很有意思我会期望除以零错误但事实并非如此,它会返回这个高数字。

当我执行SUM(SalesDayEndTime - SalesDayStartTime)时,它会产生1。

任何想法为什么输出是3884476534.2960?

谢谢!

0 个答案:

没有答案