表名:任务(用中文表示)
id,   发布者, 承接者, 完成时间, 截止时间, 任务状态,任务积分
1     xx       aa    2011-09-01   2011-09-30    已验收    1111
2     bb       cc    2011-09-01   2011-09-30   待验收    1112




。任务状态有:已生效,已完成,已验收,已挂起,待验收,积分收入: 指承接任务获得的相应积分 已完成交易 统计 已经验收通过的任务
 已完成交易 中的 统计日期 为 任务完成日期。
E.g.  任务A  在2011/2/18  通过验收(完成)。 则任务A 的 积分&工时 会被计算在 2011  2 月份的 已完成交易中。 月末未完成交易 统计时间为每个月最末一天最后一刻
E.g.  2011年1月的绩效报表统计时间为 2011年1月31日23点59分59秒999毫秒 月末未完成交易 只统计 以下状态: 已生效/待验收/挂起 的任务现要查询aa每月完成的任务积分总和

解决方案 »

  1.   

    select
      sum(case 任务状态 when '已完成' then 任务积分 else 0 end) as 总和
    from
      tb
    where
      承接者='aa'
      

  2.   

    select
      sum(case 任务状态 when '已完成' then 任务积分 else 0 end) as 总和
    from
      tb
    where
      承接者='aa'
      

  3.   


    select
    left(完成时间,7) as 月份
    sum(case 任务状态 when '已完成' then 任务积分 else 0 end) as 任务积分总和
    from tb
    where 承接者='aa'
    group by left(完成时间,7)
    order by 1
      

  4.   


    假如 完成时间='2011/09/02 00:00:00:000' 那么left(完成时间,7) as 月份的结果是09 1 2