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

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

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

  2. oracle 判断重复次数,sql 查询 某字段 重复次数 最多的记录

    函数语法: ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) 函数作用:从1开始,为按组排序的每条记录添加一个序列号  函数只能用于sele ...

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

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

  4. SQL 一条SQL语句 统计 各班总人数、男女各总人数 、该班级男女 比例

    select  sClass 班级,count(*)  班级学生总人数, sum(case when sGender=0 then 1 else 0 end)  该班级女生人数, sum(case w ...

  5. ORACLE数据库 常用命令和Sql常用语句

    ORACLE 账号相关 如何获取表及权限 1.COPY表空间 backup scott exp 登录管理员账号system 2.创建用户 create user han identified(认证) ...

  6. Oracle 动态游标 PL/SQL 动态SQL语句 open for [using] 语句

    PL/SQL:open for [using] 语句 2017年07月19日 09:52:55 学孩儿无牙哭做粥 阅读数:681 标签: oracleSQLPLSQL 更多 个人分类: ORACLES ...

  7. oracle判断字段为空时选用别的字段_oracle中使用sql查询时字段为空则赋值默认

    转至:http://www.th7.cn/db/Oracle/201501/86125.shtml oracle 通过 nvl( )函数sql 查询时为 空值 赋默认值 oracle 函数介绍之nvl ...

  8. oracle创建表t sql语句,t-sql语句创建数据库

    DB2数据库常用工具 1解释工具 1.1 Visual Explain 之前都是explain就可以了昂Visual Explain是一种GUI工具,他为数据库管理员和应用程序开发人员提供了查看为特定 ...

  9. oracle insert汉字出错,Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名...

    本文主要向大家介绍了Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle数据库,用 ...

最新文章

  1. 使Apache实现gzip压缩
  2. 摘抄--apache工作模式详解
  3. oracle 物化视图 ORA-23413: 表 xxx.xx 不带实体化视图日志
  4. 自定义类型转换器代码编写
  5. [缓存]迅雷下载原理
  6. WebStorm 预览时把浏览器地址localhost 改成IP
  7. 高级数据分析1代码_用Python进行数据分析,让你一看就会
  8. JS兼容问题的函数封装文档
  9. iOS开发常用技能点(持续更新中。。。)
  10. 架构系列---发号器(全局唯一ID生成器)系统设计方案和思路
  11. BT5 autoscan genlist ADMsnmp snmpcheck使用
  12. Driverjs-前端引导页组件
  13. SQL字符串首字母大写
  14. FileSystemWatcher 用法
  15. 双端队列--------------------------------思维(性质)
  16. 微信小程序流量主怎么开通,小程序流量主开通步骤
  17. html输出转成word(转)
  18. 视频工具箱和硬件加速
  19. C++:组合数问题--买水果
  20. 自动打电话服务器,MIUI v4 自己架设SIP服务器 让打电话不要钱!(申精)

热门文章

  1. 分享电音极速版助手APK和源代码
  2. java dcl_深入了解DCL | 学步园
  3. Gbase8s数据库ALTER ROUTINE 语句
  4. 纽约公共图书馆和皇后图书馆
  5. 循环链表详解(循环单链表/循环双链表)
  6. 程序员的浪漫表白代码(JS+CSS+HTML)附带源码
  7. 缓慢且无语的《赵氏孤儿》
  8. 喜报:安科瑞电能质量在线监测装置取得国家电网检测报告
  9. docker:用官方镜像在本地搭建PHP开发环境
  10. 取消分区 mysql_MYSQL 数据库分区及取消分区