表RecordchatId   serverName      
1014      liyi            1
1006      liyi            10
1030 yangchengang 5
1038 yangchengang 5
1046 yangchengang 1
1054 yangchengang 10
1062 yangchengang 10
1070 yangchengang 10
1代表差 5代表一般 10代表好我想根据这样的数值统计某个serverName的 差 一般 好的个数select count(*) as  from Record  where serverName = 'yangchengang' group by 后面的order by 不知道怎么样写可以清楚地排序成差 一般 好 对应着的个数 我才好方便从这个数据库中取 不知道怎么排序确定好位置

解决方案 »

  1.   

    select servername,
    SUM(case  when 1 then 1 Else 0 end ) as '差',
    SUM(case  when 5 then 1 Else 0 end ) as '一般',
    SUM(case  when 10 then 1 Else 0 end ) as '好'
    from Record
    group by servername
      

  2.   

    select ,count(*) as num from Record  
    where serverName = 'yangchengang' 
    group by  
    order by 1
      

  3.   


    select servername,
    SUM(case  when 1 then 1 Else 0 end ) as '差',
    SUM(case  when 5 then 1 Else 0 end ) as '一般',
    SUM(case  when 10 then 1 Else 0 end ) as '好'
    from Record
    group by servername