有一个

学生记录的表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统计一个班级的男女人数相关推荐

  1. oracle判断男女sql,SQL语句,统计出班级的男女人数

    有一个学生记录的表student,形式如下:  name  class sex  1 a 男 2 b 女 3 c 男 4 a 男 5 a 女 6 a 男 --  现要统计每个班级的男女人数,结果如下: ...

  2. oracle统计一个班男生女生,用一条sql统计所一个班级的男女人数

    有一个 学生记录的表student,形式如下:  name  class sex  1 a 男 2 b 女 3 c 男 4 a 男 5 a 女 6 a 男 --  现要统计每个班级的男女人数,结果如下 ...

  3. 【每日一练:SQL】写一条SQL统计连续三个月金额大于0及每个月的金额

    写一条SQL统计连续在三个月金额大于0及展现每个月的金额 需求: 下面是表FEE,字段是month(月份),service_id(电话号码),fee(出帐金额),请参看下面要求:    Month   ...

  4. c#执行多句oracle,C#一次执行多条SQL语句,Oracle11g数据库

    由于经常执行SQL语句,如果一条一条执行效率低下. oarclecmd.CommandText = sqlstr; oraclecmd.ExecuteNonQuery(); sqlstr 可以写成如下 ...

  5. 用c#算成绩的总和_c#编写一个学生成绩计算程序,统计出一个班学生的某门课程各分数段的人数(分数段:90分以上,80-90,70-80,...

    编写一个学生成绩计算程序,统计出一个班学生的某门课程各分数段的人数(分数段:90分以上,80-90,70-80,60-70,60分以下)成绩的计算方式是:平时成绩*40%+期末成绩*60%=最终成绩. ...

  6. oracle统计一个班男生女生,Excel分类统计个数分别统计某个班男生和女生各有多少...

    统计个数,在日常工作中会经常用到,count,countif等常用函数只能解决一般统计,稍微复杂一些的就无能为力了,下面有个例子: 这就需要用到SUMPRODUCT函数,下面简要介绍下 说明 · 数组 ...

  7. c oracle 多条语句,Oracle 实践:如何编写一条 sql 语句获取数据表的全部索引信息(兼容 Oracle 19c、Oracle 11g)...

    一.引言 部门使用 Oracle 已经有一些时日,最近在工作中遇到了这么一个需求: 我们希望拿到某些数据表的全部索引信息,对索引信息进行检查,检查是否有漏掉没有创建的索引 这个需求,核心的点在于,我需 ...

  8. oracle多条sql语句常量,如何在Oracle中一次执行多条sql语句

    有时我们需要一次性执行多条sql语句,而用来更新的sql是根据实际情况用代码拼出来的 解决方案是把sql拼成下面这种形式: begin update TB_VG set seq = 1, vessel ...

  9. oracle取非空,求一条sql,返回分组后,空值取最近一条非空值,非空值取本身

    如下: SQL> with t as(select 1 id,'A' value1,0907 da from dual union all 2            select 1 id,'' ...

最新文章

  1. 矩阵微积分的一些实用结论与推导
  2. Object类-try-catch-finally-throw-throws-自定义异常
  3. 剑网三《谢云流传》,展现的庞大世界观,背后的故事如何?
  4. 设置XenServer中的Linux vm从光驱启动
  5. 计算机软考笔记之《数据库基础》
  6. ”易书网“开发总结——管理篇
  7. iotop命令监控磁盘io
  8. WIN10 如何修改 文件后缀名 设置后缀名可修改
  9. Python基础学习----Requests获取url请求时间:
  10. 在Eclipse中实现C++ 11的完整支持
  11. pytorch实现attention_Self-Attention手动推导及实现
  12. 20个使用 Java CompletableFuture的示例,不服不行
  13. python GUI打开文本文件代码
  14. 移动硬盘不显示盘符修复方法
  15. 用java代码编写出喜字_喜字是怎么写的
  16. 2019年4月27号,下雨杂谈
  17. 全球与中国网络连接视频门铃对讲机设备市场深度研究分析报告
  18. [3DsMAX]建模软件的分享
  19. 移植AT91Bootstrap1.15
  20. 一键生成动漫头像微信小程序源码

热门文章

  1. vba mysql odbc_使用VBA+ODBC+MySQL实现Excel网络版
  2. c语言实验设计报告,C语言实验设计报告.doc
  3. vscode从原有分支上新建_GitHub+VSCode 打造稳定、快速、高效、免费图床
  4. 皮一皮:是不是年轻时候的你...
  5. 每日一皮:最真实的现代互联网商业模式
  6. 微服务之旅:从 Netflix OSS 到 Istio Service Mesh
  7. 深入Java中的位操作
  8. 电脑版java运行条件,Java Runtime Environment电脑版-Java Runtime Environment(Java运行环境)8.0.221 x64正式版-蜻蜓手游网...
  9. pip ValueError: check_hostname requires server_hostname
  10. {ValueError}invalid literal for int() with base 10: ‘1.0‘