`
超级板凳
  • 浏览: 94606 次
  • 性别: 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 Database 11g OLTP压缩总结

    将现有表转化为压缩表可以通过三种主要方式实现: 1. **`ALTER TABLE...COMPRESS FOR OLTP`**: - 此命令只对未来的DML语句涉及的新数据进行OLTP压缩,并不对现有的数据进行压缩。 - 这种方法适用于那些希望逐渐...

    沿岸水深数据组织管理的oracle实现.pdf

    7. 数据库系统的应用价值:基于Oracle实现的水深数据库管理系统不仅实现了数据的安全存储,而且为数据操作、查询和信息表达提供了更高效的方式。这使得水深数据能被进一步开发和应用,如进行航道通行评估和疏浚方量...

    Oracle 直方图解析.pdf

    “estimate_percent”参数设置了采样百分比,使用“auto”意味着Oracle将自动决定采样比例,以确保直方图的准确性。 #### 结论 直方图作为Oracle数据库中的一个重要特性,对于理解和优化数据分布,提高查询性能至...

    ORACLE space

    这款软件能够自动化地定时收集并分析ORACLE数据库的表空间信息,包括表空间的大小、使用情况以及空闲空间的比例,从而帮助管理员更有效地监控数据库的存储状况,预防存储资源耗尽的风险。 在ORACLE数据库中,表空间...

    Oracle 数据库经典练习

    查询所有有提成的员工,并按照工资和提成比例从小到大排序,SQL语句如下:`SELECT first_name, salary, commission_pct FROM s_emp WHERE commission_pct IS NOT NULL ORDER BY salary ASC, commission_pct ASC` ...

    ORACLE space 源代码

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

    oracle数据库日常维护手册

    这部分包括检查等待事件、SQL语句性能、死锁、CPU/I/O/内存性能、碎片化、I/O比例、死锁、僵死进程、行链接/迁移、统计分析、命中率、排序区和日志缓冲区等,以优化数据库性能。 #### 七、检查数据库安全性 安全...

    Oracle 128条码转换

    在Oracle数据库中,实现Code 128条码转换通常会涉及使用特定的函数或存储过程。例如,`DBMS_BARCODE`是Oracle提供的一种可能的包,它可以生成不同类型的条码,包括Code 128。不过,需要注意的是,64位和32位的Oracle...

    ssh/oracle数据饼图功能

    标题中的"ssh/oracle数据饼图功能"指的是一个软件项目,它使用了SSH(Spring、Struts、Hibernate)三大框架与Oracle数据库相结合,实现了数据可视化的一种功能,即数据饼图的展示。SSH是一个常见的Java Web开发框架...

    参数性能设置优化【ORACLE DB 】.zip

    2. PX(Parallel Execution):并行执行是Oracle的特色功能,通过并行服务器进程协同工作,实现大规模数据处理的加速。 四、SQL调优 1. SQL profiles:通过分析SQL语句的执行计划,创建SQL Profile,帮助数据库选择...

    基于ArcGIS和Oracle的山西省森林资源管理信息系统设计与实现.pdf

    基于ArcGIS和Oracle的山西省森林资源管理信息系统设计与实现 本文主要探讨基于ArcGIS和Oracle的山西省森林资源管理信息系统的设计与实现。该系统采用c/s和B/S相结合的复合型系统结构,以ArcGIS Engine和ArcGIS ...

    oracle数据库设计规范

    ### Oracle数据库设计规范知识点 #### 一、数据库设计规范概览 Oracle数据库设计规范旨在为数据库设计、规划、开发及维护提供技术参考。规范涵盖了物理设计原则与逻辑设计原则两个方面,确保数据库系统的高效稳定...

    oracle空间数据管理jar包.zip

    - **地图渲染**:生成地图图像,展示空间数据,支持各种地图投影和比例尺。 - **空间数据分析**:执行空间统计分析,如缓冲区分析、网络分析等。 - **地图服务**:创建Web地图服务,使得通过Web应用访问和交互...

    Oracle 12c资源管理器resource manager

    ### Oracle 12c资源管理器(resource manager)详解 #### 一、Oracle 数据库资源管理器概述 在Oracle 12c中,资源管理器(Resource Manager)是一个强大的工具,它能够帮助管理员有效地管理数据库中的多个工作负载,...

    sql oracle跟踪器

    4. **资源管理**:DBA可以设置阈值来监控特定SQL语句或会话,当达到预设条件时,如CPU使用超过一定比例,系统将发出警告,便于及时调整资源分配。 5. **历史记录和趋势分析**:SQL Monitor不仅记录当前的SQL执行...

    oracle、sql数据库批量建索引

    对于Oracle数据库,批量创建索引可以通过SQL命令或者PL/SQL脚本来实现。例如,你可以使用`CREATE INDEX`语句来创建单个索引,然后通过循环结构批量处理多个索引。如果需要删除索引,可以使用`DROP INDEX`语句。为了...

    ORACLE_OVER函数

    在Oracle数据库中,OVER函数是用于实现窗口函数(Window Functions)的重要组成部分。窗口函数允许我们执行更复杂的数据分析操作,如计算累计总和、排名等。这在开发报表时非常有用,能够让我们在查询结果中直接进行...

Global site tag (gtag.js) - Google Analytics