# 求一条统计的sql语句

0
[已解决问题] 解决于 2011-11-10 09:47

Course

C_Name（姓名），C_Sex（性别），C_Time（时间），InsertPeople（录入员），C_area（地区ID），C_state（状态）

也就是结果最后显示统计数

录入员姓名       时间                  地区等于1   地区不等于1   有效总数   无效总数   合计

张三         2011-10至2011-11        5              10               100      22          137

李四        2011-10至2011-11         8               12               88       22          130

王五        2011-10至2011-11         8               12               88       22          130

0

select InsertPeople as  '录入员姓名',convert(Varchar(7),C_Time,120) as '时间',sum(case C_area when 1 then 1 else 0 end)  as '地区等于1' ,sum (case C_area when 1 then 0 else 1 end)as ' 地区不等于1',count(InsertPeople) as '有效总数', (select count(*) from Course  where C_state='2'  )as' 无效总数'  from Course  where C_state='1'  group by InsertPeople

wvsy | 菜鸟二级 |园豆：297 | 2011-10-16 11:51

0
`select a.C_name,'2010-10-1'+'至'+'2010-10-6' as CTime,C_stateF,C_stateT,C_areaF,C_areaT,(C_stateF+C_stateT+C_areaF+C_areaT)as Total from Course a    left join (select C_name,Count(C_state) C_stateF from Course where C_state=0 group by C_state,C_name) b     on a.C_name=b.C_name    left join (select C_name,Count(C_state) C_stateT from Course where C_state=1 group by C_state,C_name) c     on a.C_name=c.C_name    left join (select C_name,Count(C_area) C_areaF from Course where C_area=1 group by C_name,C_area) e    on a.C_name=e.C_name    left join (select C_name,Count(C_area) C_areaT from Course where C_area!=1 group by C_name,C_area) d    on a.C_name=d.C_namewhere C_Time BETWEEN '2010-10-1' and '2010-10-6' group by a.C_name,C_stateF,C_stateT,C_areaF,C_areaT`

您需要登录以后才能回答，未注册用户请先注册