oracle判断男女sql,SQL语句,统计出班级的男女人数
有一个学生记录的表student,形式如下: name class
sex 1
a 男 2 b 女 3 c 男 4 a 男 5 a 女 6 a 男 …… 现要统计每个班级的男女人数,结果如下: class 男 女 a 3 1
b 0
1 c 1
0 用一句select语句实现
SQL:
create table student
(
sID int identity(1,1) primary key not
null,
sname varchar(8) not null,
class int not null,
sex char(2) not null
)
go
insert into student values('admin',1,'男')
insert into student values('111',1,'女')
insert into student values('张三',2,'男')
insert into student values('hui',2,'女')
insert into student values('李四',2,'男')
insert into student values('xin',3,'女')
insert into student values('xin',3,'女')
go
select * from student
select class , sum(case sex when '男' then 1
else 0 end ) as '男' ,女=sum(case sex when '女' then 1 else 0
end)
from student group by class
ORACLE:
create table student
(
sID number primary key not null,
sname varchar2(8) not null,
class int not null,
sex char(2) not null
)
insert into student values(seq_id.nextval,'admin',1,'男');
insert into student values(seq_id.nextval,'111',1,'女');
insert into student values(seq_id.nextval,'张三',2,'男');
insert into student values(seq_id.nextval,'hui',2,'女');
insert into student values(seq_id.nextval,'李四',2,'男');
insert into student values(seq_id.nextval,'xin',3,'女');
insert into student values(seq_id.nextval,'xin',3,'女');
select * from student;
select class,sum(decode(sex,'男',1,0))
男,sum(decode(sex,'女',1,0))
女 from student group by class;
select class,sum(F),sum(M)
from ( select class,count(*) F, 0 M
from student where sex='男'
group by class union select class,0 F ,count(*) M
from student where sex='女'
group by class ) group by class
扩展:一个班级只有一个男生很女生,在一条记录上分别显示姓名
insert into student values('admin',1,'男')
insert into student values('111',1,'女')
insert into student values('张三',2,'男')
insert into student values('hui',2,'女')
预期结果
class 男 女 1 admin 111
2 张三 hui
SQL:
①:
select a.class,a.sname as '男',b.sname as
'女'
from student a inner join student b on a.class=b.class
where a.sex='男' and b.sex='女'
②:
select a.class,a.sname as '男' ,b.sname as
'女' from
(select * from student where sex='男')a,
(select * from student where sex='女')b
where a.class=b.class
oracle判断男女sql,SQL语句,统计出班级的男女人数相关推荐
- oracle统计一个班男生女生,用一条sql统计所一个班级的男女人数
有一个 学生记录的表student,形式如下: name class sex 1 a 男 2 b 女 3 c 男 4 a 男 5 a 女 6 a 男 -- 现要统计每个班级的男女人数,结果如下 ...
- oracle 判断重复次数,sql 查询 某字段 重复次数 最多的记录
函数语法: ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) 函数作用:从1开始,为按组排序的每条记录添加一个序列号 函数只能用于sele ...
- oracle统计一个班男生女生,一条sql统计一个班级的男女人数
有一个 学生记录的表student,形式如下: name class sex 1 a 男 2 b 女 3 c 男 4 a 男 5 a 女 6 a 男 -- 现要统计每个班级的男女人数,结果如下 ...
- SQL 一条SQL语句 统计 各班总人数、男女各总人数 、该班级男女 比例
select sClass 班级,count(*) 班级学生总人数, sum(case when sGender=0 then 1 else 0 end) 该班级女生人数, sum(case w ...
- ORACLE数据库 常用命令和Sql常用语句
ORACLE 账号相关 如何获取表及权限 1.COPY表空间 backup scott exp 登录管理员账号system 2.创建用户 create user han identified(认证) ...
- Oracle 动态游标 PL/SQL 动态SQL语句 open for [using] 语句
PL/SQL:open for [using] 语句 2017年07月19日 09:52:55 学孩儿无牙哭做粥 阅读数:681 标签: oracleSQLPLSQL 更多 个人分类: ORACLES ...
- oracle判断字段为空时选用别的字段_oracle中使用sql查询时字段为空则赋值默认
转至:http://www.th7.cn/db/Oracle/201501/86125.shtml oracle 通过 nvl( )函数sql 查询时为 空值 赋默认值 oracle 函数介绍之nvl ...
- oracle创建表t sql语句,t-sql语句创建数据库
DB2数据库常用工具 1解释工具 1.1 Visual Explain 之前都是explain就可以了昂Visual Explain是一种GUI工具,他为数据库管理员和应用程序开发人员提供了查看为特定 ...
- oracle insert汉字出错,Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名...
本文主要向大家介绍了Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle数据库,用 ...
最新文章
- 使Apache实现gzip压缩
- 摘抄--apache工作模式详解
- oracle 物化视图 ORA-23413: 表 xxx.xx 不带实体化视图日志
- 自定义类型转换器代码编写
- [缓存]迅雷下载原理
- WebStorm 预览时把浏览器地址localhost 改成IP
- 高级数据分析1代码_用Python进行数据分析,让你一看就会
- JS兼容问题的函数封装文档
- iOS开发常用技能点(持续更新中。。。)
- 架构系列---发号器(全局唯一ID生成器)系统设计方案和思路
- BT5 autoscan genlist ADMsnmp snmpcheck使用
- Driverjs-前端引导页组件
- SQL字符串首字母大写
- FileSystemWatcher 用法
- 双端队列--------------------------------思维(性质)
- 微信小程序流量主怎么开通,小程序流量主开通步骤
- html输出转成word(转)
- 视频工具箱和硬件加速
- C++:组合数问题--买水果
- 自动打电话服务器,MIUI v4 自己架设SIP服务器 让打电话不要钱!(申精)