我一直试图找到一个SQL查询,该查询首先按员工分组并汇总总收入,如下所示:
**SELECT Employee_Name,
SUM(Total_Revenue)
FROM TABLE table_Name
GROUP BY Employee_Name**
然后,我还希望查询然后找到聚合组数据的标准偏差。如下所示:
**SELECT Rep_Name,
STDEV(Total_Revenue)
FROM Sales
Group By Rep_Name**
到目前为止,所有尝试都没有奏效,我确实可以从经验丰富的SQL专家那里得到一些指导。我已经尝试了上述两个查询的无数组合,但没有任何结果。
我设法获得了每个员工总收入的个体标准差,并且我也设法获得了基于每次销售的总收入的标准差。
我本质上是想比较每个员工的总收入,并确定每个员工的总收入的标准差。
下面是我用excel公式生成的内容,它最终是我想要生成SQL输出的内容,以便我可以进行进一步的分析。
ID Total Average Standard Deviation
1 3100.00 1787.92 800.53
2 3102.30 1787.92 800.53
3 2363.04 1787.92 800.53
4 2000.00 1787.92 800.53
5 1749.87 1787.92 800.53
6 1641.43 1787.92 800.53
7 1387.77 1787.92 800.53
8 1299.25 1787.92 800.53
9 1283.61 1787.92 800.53
10 1203.11 1787.92 800.53
11 536.75 1787.92 800.53
热烈欢迎任何帮助。
祝一切顺利, :)
答案 0 :(得分:1)
我认为您想要一个窗口函数:
SELECT Rep_Name,
AVG(SUM(Total_Revenue)) OVER () as avg_rep,
STDEV(SUM(Total_Revenue)) OVER () as stdev_rep
FROM Sales
GROUP BY Rep_Name;
进行汇总,然后计算总和的标准差。