统计每个科目的报考人数,以及合格人数,每个科目有多少期上课?
统计每个科目的报考人数,以及合格人数?
表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
[解决办法]
--> 测试数据:[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 */