只有一个表
create table FS
(
Id int primary key identity(1,1),
Dates date not null,
fs char(2) not null,
)
insert into FS values('2011-05-01','胜')
insert into FS values('2011-05-02','胜')
insert into FS values('2011-05-01','负')
insert into FS values('2011-05-02','胜')
insert into FS values('2011-05-01','负')
怎样用sql语句查询出按日期分组胜负数各是多少啊。不知道给位看的明白不,我描述的这个。大家帮帮忙啦。
------解决方案--------------------
- SQL code
create table FS(Id int primary key identity(1,1),Dates datetime not null,fs char(2) not null,)insert into FS values('2011-05-01','胜')insert into FS values('2011-05-02','胜')insert into FS values('2011-05-01','负')insert into FS values('2011-05-02','胜')insert into FS values('2011-05-01','负')SELECT Dates,sum(CASE WHEN fs='胜' THEN 1 ELSE 0 END) AS 胜的数量, sum(CASE WHEN fs='负' THEN 1 ELSE 0 END) AS 负的数量 FROM FS GROUP BY Dates/*Dates 胜的数量 负的数量----------------------- ----------- -----------2011-05-01 00:00:00.000 1 22011-05-02 00:00:00.000 2 0*/
------解决方案--------------------
- SQL code
create table FS(Id int primary key identity(1,1),Dates date not null,fs char(2) not null,)insert into FS values('2011-05-01','胜')insert into FS values('2011-05-02','胜')insert into FS values('2011-05-01','负')insert into FS values('2011-05-02','胜')insert into FS values('2011-05-01','负')select dates,FS,COUNT(fs) counts from FS group by Dates,fs /*dates FS counts2011-05-01 负 22011-05-01 胜 12011-05-02 胜 2*/