求一条SQL,计算偏差值解决办法
求一条SQL,计算偏差值
表A:
ID 班级 成绩
1 1班 67
2 1班 45
3 1班 90
4 1班 100
5 2班 12
6 2班 56
7 2班 34
8 2班 86
9 3班 89
10 3班 99
11 3班 100
12 3班 56
13 3班 42
我想查询每个人(ID)的偏差值,公式如下:
偏差值 = ((个人成绩 - 所在班级的平均成绩)/ 所在班级的标准差)*10 + 50
我自己写的SQL,执行时候有错,错误原因我大致是知道的,但是不知道怎么改
------解决方案--------------------
表A:
ID 班级 成绩
1 1班 67
2 1班 45
3 1班 90
4 1班 100
5 2班 12
6 2班 56
7 2班 34
8 2班 86
9 3班 89
10 3班 99
11 3班 100
12 3班 56
13 3班 42
我想查询每个人(ID)的偏差值,公式如下:
偏差值 = ((个人成绩 - 所在班级的平均成绩)/ 所在班级的标准差)*10 + 50
我自己写的SQL,执行时候有错,错误原因我大致是知道的,但是不知道怎么改
- SQL code
select ID,班级, ((成绩 - avg(成绩))/POWER(VARIANCE(成绩), 0.5))*10+50 from A group by 班级
------解决方案--------------------
- SQL code
-->try select ID,班级, ((成绩 - t.平均成绩)/t.标准差)*10+50 from A,(select 班级, avg(成绩) 平均成绩, POWER(VARIANCE(成绩),0.5) 标准差 from @test group by 班级) t where A.班级=t.班级