之前发的个帖子,关于多列求和的Select UserName,(Scort1+Scort2*5+Scort3*(-5)) as Scort from Student Group by UserName,Scort1,Scort2,Scort3现在要对这条语句再sum,即:Select Top 3 UserName,sum(Scort) as Scort From 
(Select UserName,(Scort1+Scort2*5+Scort3*(-5)) as Scort from Student Group by UserName,Scort1,Scort2,Scort3)Temp
Group by UserName 
Order by Scort Desc请问可不可以不用嵌套查询,一条语句搞定啊?

解决方案 »

  1.   


    Select Top 3  UserName,
    (SELECT SUM((Scort1+Scort2*5+Scort3*(-5))) FROM Student   WHERE USERNAME=S.USERNAME)AS SORT
    from Student S
    Order by (SELECT SUM((Scort1+Scort2*5+Scort3*(-5))) FROM Student   WHERE USERNAME=S.USERNAME) Desc
      

  2.   

    Select top 3 UserName,sum(Scort1+Scort2*5+Scort3*(-5)) as Scort 
    from Student 
    Group by UserName
    order by 2
      

  3.   

    晕,发现我的也写复杂了,你一开始按其它分组,最后还是按USERNAME分组求和,学习石头大哥,如果你发现不对,给数据来测试一下我们
      

  4.   

    Select  top 3 UserName,sum(distinct Scort1+Scort2*5+Scort3*(-5)) as Scort
    from Student
    Group by UserName
    order by 2 desc