我有一组查询结果,看起来有点像这样:
customer|sales_growth_percentage
--------|-----------------------
A |0.00
B |0.00
C |0.00
D |15.05
E |20.00
F |25.10
G |30.00
H |500.00
I |600.20
我想做的是计算以下各项,同时排除销售增长中的任何统计异常值(例如,客户H & I):
count(customer),
sum(sales_growth_percentage)
我知道我可以使用STDDEV函数计算标准差,在上面的例子中,我得到的结果是224.84。请问,有人知道如何使用这个函数来排除异常值吗?异常值真的是销售增长率高于224.84的任何东西吗?
我假设我可以将标准差保存为变量,将查询结果保存到临时表中,然后从sales_growth_percentage〈=224.84的临时表中进行选择。这是最好的方法吗?还是有更有效的方法?
任何帮助都将不胜感激!
2条答案
按热度按时间ffscu2ro1#
您可以预先计算CTE中的平均值和标准差,然后在主查询中使用它。例如:
结果:
请参阅db<>fiddle上的运行示例。
ldxq2e6h2#
您可以使用相应的OLAP函数:
其结果是:
| 客户|销售_增长_百分比|标准时间|视听|
| - -|- -|- -|- -|
| A级|0.00分|224.33569999994| 132.261111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|
| B| 0.00分|224.33569999994| 132.261111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|
| C类|0.00分|224.33569999994| 132.261111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|
| D级|十五点零五分|224.33569999994| 132.261111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|
| E级|20点整|224.33569999994| 132.261111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|
| F级|二十五元一角|224.33569999994| 132.261111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|
| G级|30点整|224.33569999994| 132.261111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|