【问题标题】:SQL Query to Get Standard Deviation for a Group and Total At The Same timeSQL 查询同时获取组的标准偏差和总计
【发布时间】:2020-10-21 11:30:43
【问题描述】:

我有一个与此非常相似的场景: 记录特定员工的每笔销售交易的表格。 我需要的数据应该按员工分组,并且应该有员工产生的销售额的标准差,以及所有员工和所有销售额的标准差,基于初始表而不是聚合的分组数据。

如果它是总计,即使用总和,它应该看起来像这样:

SELECT
    employee,
    SUM (employees.sales ) AS "employee sales",
    SUM(SUM (employees.sales)) OVER () AS "total sales"
FROM
    employees
GROUP BY
    employee

我的案例的具体情况使我无法真正使用子查询。 将不胜感激。

【问题讨论】:

  • 我假设您想要聚合销售额的标准差。
  • 感谢您的反馈。我想它可以很好地阅读这种方式。用更好的措辞更新了问题。

标签: sql postgresql


【解决方案1】:

认为你只想要STDDEV()窗口函数:

SELECT employee,
       SUM(employees.sales ) AS employee_sales,
       SUM(SUM(employees.sales)) OVER () AS total_sales,
       STDDEV(SUM(employees.sales)) OVER () AS stddev_sales
FROM employees
GROUP BY employee;

【讨论】:

  • 感谢您的回答,我需要两个标准差 - 一个用于特定员工的销售,一个用于所有员工。
猜你喜欢
  • 2019-01-04
  • 2021-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-26
  • 2023-03-25
  • 2016-09-14
相关资源
最近更新 更多