读书人

请教高手:查询每行与平均数之差怎么做

发布时间: 2012-02-13 17:20:26 作者: rapoo

请问高手:查询每行与平均数之差如何做
有下表dx:
CnameNscore
a160
a270
a380
a390
a4100

问查询每条记录与平均数之差的查询语句如何做?
我一开始用:
select dx.Cname,dx.Nscore-avg(dx.Nscore) from dx
结果只出来一行,如果用上group by Cname,那出来不是所要求的.请教高手如何写这个语句

[解决办法]
select Nscore -(select avg(Nscore)as pin from dx ) from dx
[解决办法]
select Cname, Nscore , Nscore -(select avg(Nscore) from dx) as chayi from dx
[解决办法]
select Cname, Nscore , Nscore -(select avg(Nscore) from dx) as chayi from dx
正确
[解决办法]
select dx.Cname,dx.Nscore-T.avgNscore
from dx join (select avg(Nscore)as avgNscore from dx ) T

[解决办法]

SQL code
select dx.Cname, dx.Nscore-T.avgNscore  from dx join (select avg(Nscore) as avgNscore from dx ) T 

读书人网 >SQL Server

热点推荐