日期:2014-05-17  浏览次数:20419 次

求列统计
表1
时间 姓名 班组 分数(分数记录的是每次加分减分的情况,满分100,)
想统计一段时间内每个人的分数,在根据分数建一个新的列判断60分格100分良好100以后最好

------解决方案--------------------
题目没看出需要班组来分组,另外,我比较多事,把60、100、大于100的之外的数据放到'其他'里面去
SQL code
SELECT  [姓名] ,
         SUM(分数) [分数] ,
         CASE WHEN SUM(分数) = 60 THEN '及格'
              WHEN SUM(分数) = 100 THEN '良好'
              WHEN SUM(分数) > 100 THEN '最好'
              ELSE '其他'
         END AS [级别]
 FROM    [表1]
 WHERE   时间 BETWEEN '统计开始时间' AND '统计结束时间'
 GROUP BY 姓名