table a{
r1 number(10,0),
r2 number(10,0),
r3 number(10,0),
r4 number(10,0),
r5 number(10,0),
}
如果有一条数据是 10,20 ,30,40,50
而条件是大于25
则查询的结果就是3

解决方案 »

  1.   

    select 
    sum(
     decode(sign(r1 -25),1,1,0)
     + decode(sign(r2 -25),1,1,0)
     + decode(sign(r3 -25),1,1,0)
     + decode(sign(r4 -25),1,1,0)
     + decode(sign(r5 -25),1,1,0)
    )
    from a
      

  2.   

    楼上正解,好像decode是oracle的函数,sql server有吗
      

  3.   

    你不是就是问oracle吗?sql server 不是有iif 和case 吗?
    但是没有decode函数。
    结果都一样。