首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求集锦统计的SQL写法

2013-06-19 
求汇总统计的SQL写法各位朋友!请教一个SQL写法,有个表里面有,(回访日期,很好,较好,一般,接车,机电,钣金,美

求汇总统计的SQL写法
    各位朋友!请教一个SQL写法,有个表里面有,(回访日期,很好,较好,一般,接车,机电,钣金,美容,销售)等字段,除“回访日期”外其它字段类型都是"BIT" 现在想,统计一个是间段内,的(很好,较好,一般,接车,机电,钣金,美容,销售)等字段值为"true"的统计汇总,该如何写?谢谢,请各位帮忙看看! 就剩35分了,请帮忙,发完贴,去挣分!
[解决办法]

select sum(case 很好 when 1 then 1 else 0 end) as sum_很好,
sum(case 较好 when 1 then 1 else 0 end) as sum_较好,
sum(case 一般 when 1 then 1 else 0 end) as sum_一般,
sum(case 接车 when 1 then 1 else 0 end) as sum_接车,
sum(case 机电 when 1 then 1 else 0 end) as sum_机电,
sum(case 钣金 when 1 then 1 else 0 end) as sum_钣金,
sum(case 美容 when 1 then 1 else 0 end) as sum_美容,
sum(case 销售 when 1 then 1 else 0 end) as sum_销售  from table

[解决办法]
delcare @datetimefrom  datetime,@datetimeto datetime
select @datetimefrom  ='2013-05-01',  @datetimeto   ='2013-05-30',
select sum(case 很好 when 1 then 1 else 0 end) as sum_很好, 
sum(case 较好 when 1 then 1 else 0 end) as sum_较好, 
sum(case 一般 when 1 then 1 else 0 end) as sum_一般, 
sum(case 接车 when 1 then 1 else 0 end) as sum_接车, 
sum(case 机电 when 1 then 1 else 0 end) as sum_机电, 
sum(case 钣金 when 1 then 1 else 0 end) as sum_钣金, 
sum(case 美容 when 1 then 1 else 0 end) as sum_美容, 
sum(case 销售 when 1 then 1 else 0 end) as sum_销售  from table
where 回访日期>  @datetimefrom and  回访日期< @datetimeto


另外,这种情况,也直接count 
delcare @datetimefrom  datetime,@datetimeto datetime
select @datetimefrom  ='2013-05-01',  @datetimeto   ='2013-05-30',
select (select count(很好) from table where 很好=1) as sum_很好, 
(select count(较好) from table where 较好=1) as sum_较好  
....

热点排行