create table oyun
(
idd int primary key identity,
日期 varchar(20),
胜负 char(2)
)
insert into oyun values('2008-08-09','胜')
insert  into oyun values('2008-08-09','胜')
insert into oyun values('2008-08-09','负')
insert  into oyun values('2008-08-10','负')
insert into oyun values('2008-08-10','负')
insert  into oyun values('2008-08-10','胜')
insert into oyun values('2008-08-10','负')
让你查的结果是
日期        胜   负
2008-08-09  2    1
2008-08-10  1    3

解决方案 »

  1.   

    只是想考你的SQL,又不是考你的字段应该怎样取名
    要挑错LZ写的那个insert应该不行吧?字段对应不起来
    这个SQL应该可以过关 select t1.日期, t1.胜, t2.负 from
     (select 日期, count(*) '胜' from aa where 胜负='胜' group by 日期) t1
     join
     (select 日期, count(*) '负' from aa where 胜负='负' group by 日期) t2
     on
     t1.日期 = t2.日期;
      

  2.   

    select a.日期,sum(charindex(a.胜负,'胜')) 胜 ,sum(charindex(a.胜负,'负')) 负 
    from oyun a group by a.日期
    不行的话下面继续
      

  3.   

    select a.dateTime , count(a.succ_failure),count(b.succ_failure) from oyun a,oyun b where a.succ_failure='胜' and  b.succ_failure='败' and a.dateTime=b.dateTime  group by a.dateTime;