查找特定范围内的数据平均值

时间:2017-07-07 13:30:17

标签: sql

如何在一定范围内找到数据集的平均值?具体来说,我希望找到所有数据点的数据集的平均值,这些数据集在原始平均值的一个标准偏差范围内。这是一个例子:

Student_ID  Test_Scores
1           3
1           20
1           30
1           40
1           50
1           60
1           95

平均值= 42.571

标准差= 29.854

我想找到所有在该原始平均值的一个标准差内的数据点,因此在该范围内(42.571-29.854)< = Data< =(42.571 + 29.854)。从这里开始,我想重新计算新的平均值。

所以我想要的数据集是:

Student_ID  Test_Scores
1           20
1           30
1           40
1           50
1           60

我想要的新平均值是:40

以下是我的以下SQL代码,它没有产生我想要的结果:

SELECT
    Student_ID,
    AVG(Test_Scores)
FROM
    Student_Data
WHERE
    Test_Scores BETWEEN (AVG(Test_Scores)-STDEV(Test_Scores)) AND (AVG(Test_Scores)+STDEV(Test_Scores))
ORDER BY
    Student_ID

任何人都知道如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

<select
  ng-model="vm.subapp"
  ng-options="subapp.name for subapp in vm.subapplicationList">
</select>

答案 1 :(得分:0)

使用任一窗函数或在子查询中进行计算:

var myCsv = request.responseText;
window.open('data:text/csv;charset=GB18030,' + escape(myCsv));