表达不清估摸你这个意思
a b c
1 1 0
1 2 0
1 1 1
1 1 2
count=1?

解决方案 »

  1.   

    site表的数据
    id  a      b      c
    1   100    aaaa   0
    2   200    bbbb   0
    3   100    aaaa   0
    4   200    bbbb   0
    5   100    cccc   0
    6   100    eeee   1
    7   100    aaaa   1
    我想找出c=0,a,b字段相同的记录同时求出a,b字段相同的记录条数,相同的记录只显示一条,条件是c=0的a,b字段不能与c=1的a,b字段相同
    比如:id=2,4记录的a,b字段相同,那相同记录数是2,同时没有c=1的,a,b字段为200,bbbb的记录,
          id=1,3记录的a,b字段虽然相同,但是存在c=1的记录与之相同
          id=5的记录很明显,只有一条记录,也不存在c=1的记录与之相同
    那查询结果就是
    a    b     相同记录数
    100  bbbb  2
    100  cccc  1
    如果可以的话,最好可以按照“相同记录数”从大到小排名显示
         
      

  2.   


    create table #tb(
    id int,
    a varchar(10),
    b varchar(10),
    c int
    )
    goinsert into #tb values(1,'100','aaaa',0);
    insert into #tb values(2,'200','bbbb',0);
    insert into #tb values(3,'100','aaaa',0);
    insert into #tb values(4,'200','bbbb',0);
    insert into #tb values(5,'100','cccc',0);
    insert into #tb values(6,'100','eeee',1);
    insert into #tb values(7,'100','aaaa',1);goselect a,b,count(*) as 相同记录数 from #tb t1
    where t1.c = 0 and
    not exists (select * from #tb t2
    where t2.a = t1.a and t2.b=t1.b and t2.c=1)
    group by a,b
    order by 相同记录数 descgodrop table #tb
      

  3.   

    set nocount on 
    declare @t table(id int,a int,b varchar(10),c int) 
    insert @t select 1,  100,    'aaaa',  0 
    insert @t select 2,  200,    'bbbb',  0 
    insert @t select 3,  100,    'aaaa',  0 
    insert @t select 4,  200,    'bbbb',  0 
    insert @t select 5,  100,    'cccc',  0 
    insert @t select 6,  100,    'eeee',  1 
    insert @t select 7,  100,    'aaaa',  1 
    select a,b, count(*)相同记录数 from @t t where not exists(select * from @t where c=1 and a=t.a and b=t.b) group by a,b 
    order by 相同记录数 desc a          b          相同记录数      
    ----------- ---------- ----------- 
    200        bbbb      2 
    100        cccc      1