`
vvnet
  • 浏览: 116501 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

ORACLE:按月累计问题的解决方法

 
阅读更多

情况一:
表结构中没有累计的字段,我们需要展示一下累计的值,这种情况实现起来比较简单,只是简单的查询就可以了,
下面我会详细的介绍:
建表语句:
create table TEST1
(
MON   CHAR(6),
VAL   NUMBER(4)
)
其中:mon为月份模式为:20060102,val为该月的数值。
我们只是需要展示一下累计的值(从该年1月至该月的累计值),这样的执行语句为:
SELECT
SUM(VAL)
OVER (PARTITION BY SUBSTR(MON,1,4)
ORDER BY MON)
FROM TEST1
ORDER BY MON,VAL

EG:
原表数据:
mon   val
200501 1
200502 3
200503 5

经过查询后的结构为:
mon   val sum
200501 1   1
200502 3   4
200503 5   9

 

情况二:
表结构中存在累计的字段,我们需要把累计值计算之后,放在累计字段之中,这样的实现就比较麻烦了,但是会者不难,难者不会。
下面将详细介绍做法:
create table TEST1
(
MON   CHAR(6),
VAL   NUMBER(4),
total number(6)
)
其中:mon为月份模式为:20060102,val为该月的数值,total 从该年1月至该月的累计值。
首先:将表中插入各月的数据:
mon   val total
200501 1    0
200502 3    0
200503 5    0
然后,我们用下面的语句进行相应的更新操作:
update test1 set
total= (select p.val_sum from
(select mon,sum(val) over (partition by substr(mon,1,4) order by mon) val_sum
from test1 order by mon) p
where test1.mon=p.mon)

这样表test1中的数据会变成:
mon   val total
200501 1   1
200502 3   4
200503 5   9

分享到:
评论

相关推荐

    Oracle计算连续天数,计算连续时间,Oracle连续天数统计

    在Oracle数据库中,计算连续天数或连续时间是一项常见的需求,尤其在数据分析、报表生成或者业务规则检查等场景。...在实际应用中,理解这些技术并结合业务场景灵活运用,才能有效地解决此类问题。

    Oracle项目成本解决方案解析.pptx

    Oracle项目成本解决方案是一种高效、全面的管理工具,用于在企业级项目中跟踪和控制成本。该解决方案通过预定义的项目模板简化了项目信息的创建,允许用户基于现有项目快速复制和构建新项目。项目的基本信息包括项目...

    oracle备份与恢复方面的问题参考解决办法

    本文主要探讨了三种常见的Oracle备份方法:导出/导入、冷备份和热备份,并提供了相应的恢复策略。 1. 导出/导入(Export/Import) 导出是将数据从数据库中提取出来,而导入则是将这些数据送回数据库。Oracle支持三...

    三家子公司Oracle实施固定资产业务解决专项方案.doc

    文档标题和描述中提到的是关于"三家子公司Oracle实施固定资产业务解决专项方案"的文档,这涉及到在Oracle系统中管理三个子公司的固定资产流程优化和解决方案。Oracle是全球知名的数据库和企业管理软件提供商,其财务...

    Oracle函数及常用sql

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其强大的功能和灵活性使得它在企业级应用中占据了重要地位。...通过深入学习和实践,可以充分利用Oracle的强大功能,高效地管理数据并解决复杂问题。

    ORACLE分析函数详解

    它们提供了一种更高效、更灵活的方式来执行诸如累计计算、分组内的百分比计算、前N条查询以及移动平均等操作,相比传统的PL/SQL解决方案,分析函数在性能上有显著优势。 分析函数的工作原理是基于一组行来计算聚合...

    OracleEBS开发汇总文档

    11. **Oracle死锁之解决方法** - **方法**: 分析死锁日志,调整锁定顺序或优化SQL语句。 - **应用场景**: 系统性能调优。 12. **PL/SQL过程调用表示法** - **解释**: PL/SQL中定义过程的方法。 - **应用场景**:...

    oracle小型超市管理系统

    【Oracle小型超市管理系统详解】 Oracle小型超市管理系统是一个...通过这个Oracle小型超市管理系统,学习者能够深入理解数据库在实际业务中的作用,熟悉SQL语言和数据库设计原则,同时提升问题解决和项目实施的能力。

    Oracle_Database_11g_SQL_-_Master_SQL_and_PLSQL_in_the_Oracle_Database

    1. **SQL优化**:Oracle 11g引入了SQL性能分析器,帮助用户识别并解决SQL查询的性能问题。通过自动采样和统计信息,数据库可以更准确地制定执行计划,从而提高查询效率。 2. **高级SQL功能**:比如窗口函数,允许在...

    Oracle高级sql学习与练习

    Oracle高级SQL学习与练习涵盖了数据库编程中的一系列高级主题,旨在帮助数据库开发者和管理员提高解决复杂问题的能力。在Oracle数据库系统中,高级SQL技能是进行高效数据管理、查询优化和复杂数据处理的基础。 1. ...

    三思笔记之oracle函数

    在Oracle数据库管理中,函数是SQL...无论是处理数据转换、分析大量数据还是解决特定问题,这些函数都能提供强大的工具支持。因此,深入理解并掌握这些函数,对于提升个人在Oracle数据库领域的专业素养具有重要意义。

    自己整理的Oracle常用高级语句.rar

    8. **Oracle 11g导出空表、少表解决办法**: 在Oracle 11g中,可能遇到导出时某些表为空或缺失的情况。文档可能提供了如何处理这些问题的策略,以确保完整备份。 9. **PL-SQL连接断开问题**: 当PL/SQL程序长时间...

    oracle函数大全

    Oracle数据库系统是世界上最广泛...在实际应用中,结合使用这些函数可以解决各种复杂的数据库问题,优化查询性能,提供更精确的数据分析和报表生成。通过深入学习和实践,你将能够更好地发掘Oracle数据库系统的潜力。

    oracle行列转换实例

    分析函数主要设计用于处理累计计算等问题,但也可以用来解决行列转换这一常见需求。 1. 分析函数的基本概念 分析函数在 Oracle 数据库中扮演着重要的角色,它可以在一组记录行上执行计算,这组记录行被称为窗口。...

    ORACLE_OVER函数

    ### ORACLE OVER 函数详解 #### 一、概述 在Oracle数据库中,OVER函数是用于实现窗口函数(Window Functions)的重要组成部分。窗口函数允许我们执行更复杂的数据分析操作,如计算累计总和、排名等。这在开发报表...

    Oracle开发的over函数

    ### Oracle开发中的OVER函数详解 #### 一、Oracle分析函数简介 在Oracle数据库开发中,分析函数是一类非常强大的工具,主要用于实现复杂的...在实际应用中,合理利用分析函数可以有效解决许多复杂的数据处理问题。

Global site tag (gtag.js) - Google Analytics