`
超级板凳
  • 浏览: 93446 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

oracle实现求比例

阅读更多
今天看到一个数据库题目,题目的大致意思是根据成绩表中的分数进行统计,得到各科不及格的百分数,然后进一步排序得出哪科偏难
这个时候我们要做的是先要求出各科成绩不及格的百分数,以前没有做过用oracle求百分数,所以上网搜了下,主要涉及到以下几个函数,一个是sum,一个是round
首先我先做了各测试如下
select count(*) all_count,
round(sum(case when grade<60 then 1 else 0 end)/count(*),3)*100||'%'  percent_all_count from training
这里我们可以看到两个函数的使用情况,首先sum函数中,先判断字段grade的值,如果不及格即小于60那么累加1,否则了累加0,累加完后与总记录数count(*)相除得到不及格的记录行数占总行数的比例
Oracle Round 函數 (四捨五入)
描述 : 傳回一個數值,該數值是按照指定的小數位元數進行四捨五入運算的結果。
SELECT ROUND( number, [ decimal_places ] ) FROM DUAL
參數:
number : 欲處理之數值
decimal_places : 四捨五入 , 小數取幾位 ( 預設為 0 )
后面的参数3表示3位显示,这样求得了比例数,为了得到百分数,这里乘以100然后了带上% 用到了字符连接||.这样百分数就搞定了
接下来就是进行排序了
select count(*) all_count,
round(sum(case when grade<60 then 1 else 0 end)/count(*),3)*100||'%' percent_all_count ,
course  from training group by course order by percent_all_count
这里把课程名称附上,然后对应比例排序,在调试的时候.犯了个错误就是前面用了sum,count这些函数的时候后面如果不用group by 当然是会出现异常了



分享到:
评论

相关推荐

    ORACLE space

    管理的ORACLE数据库越来越多,统计不是很方便,ORACLE space诞生了, 它实现定时统计ORACLE数据库表空间大小、使用、空闲比例等。

    ORACLE space 源代码

    管理的ORACLE数据库越来越多,统计不是很方便,ORACLE space诞生了, 它实现定时统计ORACLE数据库表空间大小、使用、空闲比例等。 程序工作原理: 使用ORACLE官方提供的Oracle.ManagedDataAccess组件连接数据库。 ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    说明:用于连接到oracle数据库,也可实现用户的切换 用法:conn 用户名/密码 [as sysdba/sysoper] 注意:当用特权用户连接时,必须带上sysdba或sysoper 例子: 3. 断开连接(disc) 说明:断开与当前数据库的连接 ...

    ORACLE数据库智能化管理系统2012

    还在为达到求某种数据值需要多表数据关联起来后得到结果重复,想去除多余行值,单独书写的SQL语句又无法解决而频繁手工操作或通过编写软件才能实现想要的结果而烦恼吗? 还在为查看数据库会话情况及死锁情况,想批量...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第2/2部分)

     Bob Bryla是Oracle 9i和10g的认证专家,他在数据库设计、数据库应用程序开发、培训和Oracle数据库管理等方面拥有20多年的工作经验,他也足Dodgeville的Land'End公司的首席Internet数据库设计师和Oracle DBA. ...

    Oracle数据库实验--PL/SQL程序基础1

    4、接收雇员号,输出该雇员的所有信息,没有提成的用0替代。...7、输入部门编号,按照下列加薪比例执行给该部门的雇员加薪(用CASE实现,修改emp1表的数据) (存储过程) 13、输出如下九九乘法表。(存储过程)

    oracle数据库设计规范.doc

    数据库SGA配置 数据库SGA可以采用手工配置或按物理内存比例配置,在数据库初始设计阶段采用 按比例配置方式,在实际应用中按系统调优方式修改SGA。 数据库字符集选择 为了使数据库能够正确支持多国语言,必须配置...

    ORACLE数据库智能化管理系统2008演示

    9. 还在为达到求某种数据值需要多表数据关联起来后得到结果重复,想去除多余行值,单独书写的SQL语句又无法解决而频繁手工操作或通过编写软件才能实现想要的结果而烦恼吗? 10. 还在为查看数据库会话情况及死锁情况...

    基于struts+hibernate+spring+oracle的车辆管理系统源码

    系统可实现所有的车辆在同一幅地图上同时显示,根据车辆的位置和数量,系统自动将地图调整到最合适的比例尺,所有车辆的实时位置和状态一目了然。车辆快速闪动表示车辆正在运行,车辆慢闪表示车辆停止。 2、 单车定位...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第1/2部分)

     Bob Bryla是Oracle 9i和10g的认证专家,他在数据库设计、数据库应用程序开发、培训和Oracle数据库管理等方面拥有20多年的工作经验,他也足Dodgeville的Land'End公司的首席Internet数据库设计师和Oracle DBA. ...

    基于MVC的员工管理系统的设计与实现

    本系统结合相关公司实际的人事、制度,经过实际的需求分析,采用功能强大的Eclipse作为开发工具,采用大部分公司应用的Oracle数据库作为后台数据存储。整个系统从操作简便、界面友好、灵活、实用、安全的要求出发,...

    java-7-openjdk-amd64.tar.gz

    把这些JRL许可证形式的Sun/OracleJDK源码和对应版本的OpenJDK源码进行比较,发现除了文件头的版权注释之外,其余代码基本上都是相同的,只有字体渲染部分存在一点差异,Oracle JDK采用了商业实现,而OpenJDK使用的是...

    ZZY QR 二维码生成器 v3.5.16.720.zip

    软件实现操作简单快速,且支持批量生成,还可以对生成的二维码编辑色彩,简单的编辑绘制,软件界面美观简洁、使用方便,二维码生成速度快,质量高,对于用户来说是一款很不错的软件,小编这里推荐大家使用这款软件!...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    全书共分五个篇幅,由14个章节组成,内容涉及Web应用、数据备份恢复、网络存储应用、性能优化与运维监控、集群高级应用方面,每个篇幅占用比例分别为:20%、20%、14%、14%,32%。 前言 第1篇 Web应用篇 第1章...

    mapxtreme练习笔记

    42. 在C#应用中如何读取存在ORACLE(或SQL Server)中的MapInfo表 45 43. 读取线的节点坐标程序 47 44. 常用示例 48 1 设置图层可选状态 48 2 设置层的可用状态 48 3 层居中,看全图 49 4 放大缩小地图 50 5 移动层的...

    基于java记账管理系统软件程序设计源码+WORD毕业设计论文文档.zip

    该系统的实现要求使用B/S架构和MVC模式,使用JSP进行前台页面实现,后台数据库的实现使用Oracle。 软件环境 : 操作系统——windows 7 数据库——Oracle 应用中间件——Tomcat7.0 编辑环境——Eclipse  工作目的 ...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例173 实现复选框中的全选、反选和不选 208 实例174 隐藏域提交用户的ID值 210 实例175 图像域替代提交按钮 211 实例176 跳转菜单实现页面跳转 213 实例177 上传图片预览 214 实例178 去掉下拉选项的边框 215 实例...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例173 实现复选框中的全选、反选和不选 208 实例174 隐藏域提交用户的ID值 210 实例175 图像域替代提交按钮 211 实例176 跳转菜单实现页面跳转 213 实例177 上传图片预览 214 实例178 去掉下拉选项的边框 215 实例...

    openLayers geoserver常见问题

    Geoserver连Oracle Spatial 52 GeoServer架构浅谈 53 Geoserver发布地图无法显示问题 57 WebGIS相关的OpenGIS规范 58 geoserver中地图以外的区域以自定义图片填充 62 怎样修改 geoServer 的用户名密码 65 GeoServer...

Global site tag (gtag.js) - Google Analytics