示范:假定原有查询如下:
1、Select 部门,count(*) as 应该出勤人数 from a where col1 = 123
2、Select 部门,count(*) as 实际出勤人数 from a where col1 = 123 AND col2 = 'xxx'则如此实现:
Select 部门,
       count(*) as 应该出勤人数,
       sum(Decode(col2,'xxx',1,0)) as 实际出勤人数
       sum(Decode(col2,'xxx',1,0))/count(*) as 出勤率
from a where col1 = 123

解决方案 »

  1.   

    libin_ftsafe(子陌红尘)的意思是对的。我问AND后面的条件也就是这个意思。当然如果AND后的条件比libin_ftsafe(子陌红尘)列的复杂的话,这种写法就要改了最好是通过判断“出勤否”的字段去做
      

  2.   

    libin_ftsafe(子陌红尘)技高一筹啊!我又来晚了!
      

  3.   

    libin_ftsafe(子陌红尘) 的答案是对的,只要将你的是否出勤作为条件在decode里面判断,给出不同的值求sum就可以了