SqlServer 难题 求解

来源:百度知道 编辑:UC知道 时间:2024/06/30 00:00:14
有如下数据:

ID SF DT
1 胜 2006-06-12 00:00:00.000
2 胜 2006-06-12 00:00:00.000
3 负 2006-06-13 00:00:00.000
4 负 2006-06-12 00:00:00.000
5 胜 2006-06-11 00:00:00.000
6 负 2006-06-12 00:00:00.000
7 负 2006-06-13 00:00:00.000
8 胜 2006-06-12 00:00:00.000

想通过一条或一段语句 统计出某天的胜负数各是多少

例如:

日期 胜 负
2006-06-11 00:00:00.000 1 0
2006-06-12 00:00:00.000 3 2
2006-06-13 00:00:00.000 0 2

谢谢高手了!!!!!
第一组数据的列名分别为 ID SF DT

第二组列名分别为 日期 胜 负

希望高手看的懂 第二组的第一行数据前边全是日期 1是'胜'列下的 0是'负'列下的

select a.DT as 日期,a.count(SF) as 胜,b.count(SF) as 负 into 新表
from 旧表 as a,旧表 as b
where a.DT=b.DT and a.SF='胜' and b.SF='负'
group by a.DT

新……

期待答案

=.=这个不算难题了,不过分有点少....把下面的复制到查询分析器里执行就OK...

--删除table
Drop table #temp
--创建表并插入数据:
create table #temp([ID] [numeric](18, 0) IDENTITY (1, 1) NOT NULL
,[SF] varchar(5) null
,[DT] datetime null )

insert into #temp (SF,DT) values ('胜','2006-06-12 00:00:00.000')
insert into #temp (SF,DT) values ('胜','2006-06-12 00:00:00.000')
insert into #temp (SF,DT) values ('负','2006-06-13 00:00:00.000')
insert into #temp (SF,DT) values ('负','2006-06-12 00:00:00.000')
insert into #temp (SF,DT) values ('胜','2006-06-11 00:00:00.000')
insert into #temp (SF,DT) values ('负','2006-06-12 00:00:00.000')
i