100分求教一个Sql 统计查询语句
来源:百度知道 编辑:UC知道 时间:2024/05/31 02:34:28
Name GoToPlace Event Date
Herry China Shopping 2009-10-1
John Japan Work 2009-10-3
Jack America Study 2003-12-1
Tom India Work 2003-1-1
Herry America Shopping 2004-10-1
John Japan Study 2005-10-3
实际中GoToPlace和Event都在10种以上
现要由TableA统计去某地做某事的人次数量
最终得到TableB
Sum China Japan America India
Shopping 2 1 0 1 0
Work 2 0 1 0 1
Study 2 0 1 1 0
跪求此Sql语句
动态脚本,不管你有多少项
declare @sql varchar(8000)
set @sql = 'select Event,'
select @sql = @sql+
' sum(case when GoToPlace= '''+GoToPlace+''' then 1 else 0 end) as ['+GoToPlace+'],'
From (Select Distinct GoToPlace From TableA) T
set @sql = left(@sql,len(@sql)-1)+' from TableA group by Event'
exec(@sql)
lzp4881 少写了 end
select Event,
sum(case when GoToPlace='China' then 1 else 0 end) as China,
sum(case when GoToPlace='Japan' then 1 else 0 end) as Japan,
sum(case when GoToPlace='America' then 1 else 0 end) as America,
sum(case when GoToPlace='India' then 1 else 0 end) as India
from TableA
group by Event
存储过程这个方法不错哦
select Gotoplace,Event ,count(*) from #T1
group by Gotoplace,Event
将就着用吧
select Event Sum,
Count(case GoToPlace when 'China' then 1 end ) as China,
Count(ca