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

统计每个科目的报考人数,以及合格人数,每个科目有多少期上课?该如何处理

2012-05-08 
统计每个科目的报考人数,以及合格人数,每个科目有多少期上课?统计每个科目的报考人数,以及合格人数?表tabl

统计每个科目的报考人数,以及合格人数,每个科目有多少期上课?
统计每个科目的报考人数,以及合格人数?
表table
有科目type,字段sfhg显示是否合格(是表示合格),上课期数qs,
qs输入为1,满人之后就2,然后3,以此类推

要求统计每个科目的报考人数,以及合格人数,每个科目共有多少期?


[解决办法]
select type,sum(case when sfhg = '是' then 1 else 0 end),COUNT(distinct qs)
from table
group by type


[解决办法]

SQL code
--> 测试数据:[test]if object_id('[test]') is not null drop table [test]create table [test]([type] varchar(2),[sfhg] varchar(2),[qs] int)insert [test]select 't1','是',1 union allselect 't1','否',1 union allselect 't1','是',1 union allselect 't2','否',2 union allselect 't2','是',2 union allselect 't3','否',3 union allselect 't3','是',3 union allselect 't3','否',3 union allselect 't1','是',4 union allselect 't1','否',4select [type],COUNT(1) as 总人数,COUNT(distinct [qs]) as 期数,SUM(case when [sfhg]='是' then 1 else 0 end)as 合格人数 from test group by [type]/* type    总人数    期数    合格人数t1    5    2    3t2    2    1    1t3    3    1    1 */ 

热点排行