我想帮助查询以确定用户一个月和一年的平均每小时销售额。大多数月份一切都很好,但在这种情况下,它正在生产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?
谢谢!