表 A   字段 name  flag
求输出结果:flag=1的记录占总记录的百分比。

解决方案 »

  1.   


    --1select sum(case when flag=1 then 1 else 0 end)*1./count(*)
    from tb--2select name,sum(case when flag=1 then 1 else 0 end)*1./count(*)
    from tb
    group by name
      

  2.   

    select 100.0*sum(case when flag = 1 then 1 else 0 end)/count(1) as 百分比
    from a
      

  3.   

    select count(1)/(select count(1) flags from tb ) from tb where flag = 1
      

  4.   


    --1select ltrim(cast(sum(case when flag=1 then 1 else 0 end)*100./count(*) as decimal(12,2))) + '%'
    from tb--2select name,ltrim(cast(sum(case when flag=1 then 1 else 0 end)*100./count(*) as decimal(12,2))) + '%'
    from tb
    group by name
      

  5.   

    select
     name,ltrim(cast(sum(case when flag=1 then 1 else 0 end)*100./count(*) as decimal(12,2))) + '%' as 百分比
    from
     tb
    group by
     name