select count(*) [总人数] , count(case when 性别 = '女'then 1 end) [女性人数],count(case when 年级 = '一年级' then 1 end) [一年级人数]
from student
from student
解决方案 »
- mssql2000错误处理的问题
- 成套件问题
- 100分:看似简单的查询问题:(好久没问问题了)
- 投票系统:每项取最后投票的信息
- SQL中递归疑惑
- 求助:关于SQL字符串解析的问题(急!!!)
- 有没有人知道如何让一个存储过程(asp)使用的时候既能返回输出参数又可以返回记录集啊?
- 关于数据库记录统一的问题( 邹建及各位老大多看看)
- 請問 在 急讲较 : 请问 在SQL中 怎样找出一列 数字的最大值, 和 最小值
- 紧急求助! CREATE TABLE中如何为字段指定默认值?(access数据库)
- 已知有两台电脑A,B. 分别装有SQL SERVER. 在电脑A上备份数据库mydata ,生成文件mydata.bak。 然后把此文件copy 到B电脑上, 我想用此文件
- 什么意思:使用ConnectionTimeout之前,确保连接提供程序和数据源支持该属性
,女性人数=sum(case 性别 when '女' then 1 else 0 end)
,一年级人数=sum(case 年级 when '一年级' then 1 else 0 end)
from 表
declare @student table(姓名 varchar(10),性别 varchar(2),年级 varchar(10))
insert into @student
select '小刚','男','一年级'
union all select '小红','女','一年级'
union all select '小关','男','二年级'
union all select '小桦','女','二年级'--查询
select 总人数=count(*)
,女性人数=sum(case 性别 when '女' then 1 else 0 end)
,一年级人数=sum(case 年级 when '一年级' then 1 else 0 end)
from @student/*--测试结果总人数 女性人数 一年级人数
----------- ----------- -----------
4 2 2(所影响的行数为 1 行)
--*/