select Name,ClassOne=sum(ClassOne),ClassTwo=sum(ClassTwo),ClassThree=sum(ClassThree)
from 表
group by Name

解决方案 »

  1.   

    select Name,ClassOne=sum(ClassOne),ClassTwo=sum(ClassTwo),ClassThree=sum(ClassThree)
    from 表
    group by Name
    order by charindex(name,'行为习惯文明礼仪总分')
      

  2.   

    老大语句要加个N。
    --建立测试环境Create table TEST
    (Name Nvarchar(10),
    ClassOne  Int,
    ClassTwo  Int,
    ClassThree Int
    )
    GO--插入数据
    Insert TEST Values(N'行为习惯',    30,            30,           29)
    Insert TEST Values(N'文明礼仪',    10,             8,           10)
    Insert TEST Values(N'总分',        40,            38,           39)
    Insert TEST Values(N'行为习惯',    30,            30,           29)
    Insert TEST Values(N'文明礼仪',    10,             8,           10)
    Insert TEST Values(N'总分',        40,            38,           39)GO
    --测试select Name,ClassOne=sum(ClassOne),ClassTwo=sum(ClassTwo),ClassThree=sum(ClassThree)
    from TEST Group By Name order by charindex(Name,N'行为习惯文明礼仪总分') --删除测试环境
    Drop table TEST
    --结果
    /*
    Name     ClassOne     ClassTwo     ClassThree
    总分  80       76   78
    文明礼仪  20       16   20
    行为习惯  60       60   58
    */