select name  , count(name) from test where flag = 1 group by name

解决方案 »

  1.   

    select name,count(*) flag
    from 
    (select name, flag
    from test
    where flag=1)
    group by name;这只是个笨办法,对于你说的数据可行(当然,如果FLAG为NUMBER型的话),如果不是0和1就不行了,俺再想想其它的办法.
      

  2.   

    不是0和1的情况可以这样做:SELECT NAME, SUM(FLAG) FLAG FROM TEST GROUP BY NAME;
      

  3.   

    select name,sum(flag)flag from test group by name;
      

  4.   

    SELECT NAME,sum(flag) as glag from test group by name