zoukankan      html  css  js  c++  java
  • Oracle查询列累加值

      闲了几天总算是有活干了,接到上级分配的任务,利用水晶报表做几个图形报表。做图形是没什么大难度,已经很熟悉水晶报表的使用了,非常容易完成;关键是在查询语句那,非常耗时间,还要核对查询出的结果是否准确。

      通过两天的努力,四张图形的大体效果已经出来了,但是有一张图形的查询语句有点难度,X轴是需要本年度月份数据,Y轴的数据需要某一列按月累加的值。之前做过查询小计、合计、总计的语句,但是这个还是头一次遇到,通过搜索忽然间发现Oracle提供 SUM 的聚合函数可以实现。

      select sum(列名)over(partition by 累加条件列 group by 分组列1,分组列2……) total  from 表;


      立刻自己在数据库里创建了一张表,学习试验此方法:

    1 Create Table product(
    2 Id Number(9),
    3 pro_name VARCHAR2(50),
    4 pro_date Date,
    5 year_mon VARCHAR2(12),
    6 oil Number(9),
    7 gas Number(9),
    8 water Number(9)
    9 )


      查询语句如下:

    代码
    1 Select t.Pro_Name,
    2 t.Year_Mon YM,
    3 Substr(t.Year_Mon, 1, 4) Y,
    4 t.oil,
    5 Sum(t.oil)over(Partition By Substr(t.Year_Mon, 1, 4) Order By Substr(t.Year_Mon, 1, 4),t.Year_Mon) total
    6  From Product t

      结果如下:

      个人觉得这个方法还是挺不错的,应该会在更多的地方应用到,比如:可以看到一年中每个月产量完成情况……

      如果大家还有其它什么好的方法,希望能指点交流,共同学习~~~


     

     

    作者:zeke     
              出处:http://zhf.cnblogs.com/
              本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 

  • 相关阅读:
    [Re] SpringMVC-5(Converter+拦截器+国际化+异常处理)
    [Re] SpringMVC-4(数据绑定+数据格式化+数据校验)
    [Re] SpringMVC-3(视图解析+RESTful CRUD)
    [Re] SpringMVC-2(数据输出+源码流程)
    常用SQL优化
    JAVA 中的标准注解
    linux第一发
    easyui js取消选中 Tree 指定节点
    axis1.4 服务端获取请求报文报文和客户端获取请求报文和响应报文
    对于两个实体类属性值的合并,java实现
  • 原文地址:https://www.cnblogs.com/ZHF/p/1881767.html
Copyright © 2011-2022 走看看