oracle统计一个班男生女生,一条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 notnull,
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 1else 0 end ) as '男' ,女=sum(case sex when '女' then 1 else 0end)
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 Mfrom student where sex='男'group by class union select class,0 F ,count(*) Mfrom 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统计一个班级的男女人数相关推荐
- oracle判断男女sql,SQL语句,统计出班级的男女人数
有一个学生记录的表student,形式如下: name class sex 1 a 男 2 b 女 3 c 男 4 a 男 5 a 女 6 a 男 -- 现要统计每个班级的男女人数,结果如下: ...
- oracle统计一个班男生女生,用一条sql统计所一个班级的男女人数
有一个 学生记录的表student,形式如下: name class sex 1 a 男 2 b 女 3 c 男 4 a 男 5 a 女 6 a 男 -- 现要统计每个班级的男女人数,结果如下 ...
- 【每日一练:SQL】写一条SQL统计连续三个月金额大于0及每个月的金额
写一条SQL统计连续在三个月金额大于0及展现每个月的金额 需求: 下面是表FEE,字段是month(月份),service_id(电话号码),fee(出帐金额),请参看下面要求: Month ...
- c#执行多句oracle,C#一次执行多条SQL语句,Oracle11g数据库
由于经常执行SQL语句,如果一条一条执行效率低下. oarclecmd.CommandText = sqlstr; oraclecmd.ExecuteNonQuery(); sqlstr 可以写成如下 ...
- 用c#算成绩的总和_c#编写一个学生成绩计算程序,统计出一个班学生的某门课程各分数段的人数(分数段:90分以上,80-90,70-80,...
编写一个学生成绩计算程序,统计出一个班学生的某门课程各分数段的人数(分数段:90分以上,80-90,70-80,60-70,60分以下)成绩的计算方式是:平时成绩*40%+期末成绩*60%=最终成绩. ...
- oracle统计一个班男生女生,Excel分类统计个数分别统计某个班男生和女生各有多少...
统计个数,在日常工作中会经常用到,count,countif等常用函数只能解决一般统计,稍微复杂一些的就无能为力了,下面有个例子: 这就需要用到SUMPRODUCT函数,下面简要介绍下 说明 · 数组 ...
- c oracle 多条语句,Oracle 实践:如何编写一条 sql 语句获取数据表的全部索引信息(兼容 Oracle 19c、Oracle 11g)...
一.引言 部门使用 Oracle 已经有一些时日,最近在工作中遇到了这么一个需求: 我们希望拿到某些数据表的全部索引信息,对索引信息进行检查,检查是否有漏掉没有创建的索引 这个需求,核心的点在于,我需 ...
- oracle多条sql语句常量,如何在Oracle中一次执行多条sql语句
有时我们需要一次性执行多条sql语句,而用来更新的sql是根据实际情况用代码拼出来的 解决方案是把sql拼成下面这种形式: begin update TB_VG set seq = 1, vessel ...
- oracle取非空,求一条sql,返回分组后,空值取最近一条非空值,非空值取本身
如下: SQL> with t as(select 1 id,'A' value1,0907 da from dual union all 2 select 1 id,'' ...
最新文章
- 矩阵微积分的一些实用结论与推导
- Object类-try-catch-finally-throw-throws-自定义异常
- 剑网三《谢云流传》,展现的庞大世界观,背后的故事如何?
- 设置XenServer中的Linux vm从光驱启动
- 计算机软考笔记之《数据库基础》
- ”易书网“开发总结——管理篇
- iotop命令监控磁盘io
- WIN10 如何修改 文件后缀名 设置后缀名可修改
- Python基础学习----Requests获取url请求时间:
- 在Eclipse中实现C++ 11的完整支持
- pytorch实现attention_Self-Attention手动推导及实现
- 20个使用 Java CompletableFuture的示例,不服不行
- python GUI打开文本文件代码
- 移动硬盘不显示盘符修复方法
- 用java代码编写出喜字_喜字是怎么写的
- 2019年4月27号,下雨杂谈
- 全球与中国网络连接视频门铃对讲机设备市场深度研究分析报告
- [3DsMAX]建模软件的分享
- 移植AT91Bootstrap1.15
- 一键生成动漫头像微信小程序源码
热门文章
- vba mysql odbc_使用VBA+ODBC+MySQL实现Excel网络版
- c语言实验设计报告,C语言实验设计报告.doc
- vscode从原有分支上新建_GitHub+VSCode 打造稳定、快速、高效、免费图床
- 皮一皮:是不是年轻时候的你...
- 每日一皮:最真实的现代互联网商业模式
- 微服务之旅:从 Netflix OSS 到 Istio Service Mesh
- 深入Java中的位操作
- 电脑版java运行条件,Java Runtime Environment电脑版-Java Runtime Environment(Java运行环境)8.0.221 x64正式版-蜻蜓手游网...
- pip ValueError: check_hostname requires server_hostname
- {ValueError}invalid literal for int() with base 10: ‘1.0‘