字段加sum和不加sum的区别?

字段加sum和不加sum的区别? - 图1

从上图上看,都是求占比,但是两者的结果是不一样。

sum([销售额])/sum([数量])

[销售额]/[数量]

这两者在有数上有什么区别?

[销售额]/[数量]

是先对明细数据进行相除,然后在根据视图的维度"地区"分组相处进行sum,最终的结果是sum([销售额]/[数量])

sum([销售额])/sum([数量])

销售额根据"地区"分组求和,数据也更具"地区"分组求和,然后再进行相除。

一般 sum([销售额])/sum([数量]) 才是用户想要的数据

有数中null的计算

我们对 null 的设计遵从了数据库通用标准,也就是说:

null 与其他操作符或函数结合,结果通常为 null

null + 5 => null

10 / null => null

not(null) => null

null and true => null

length(null) => null

substr(null, 1, 3) => null

聚合函数的计算中不考虑 null 值

假设字段 X 有 3 行:1、null、5

SUM(X) => 6

AVG(X) => 3

MIN(X) => 1

COUNT(X) => 2