下面的需求是将不仅获取查询的结果集,还要将结果集的SIZE返回。结果集的SIZE是无法通过CURSOR获取的。
 
通常聚合函数在二种情况下,使用默认分组即没有分组。可以直接使用,比如
select 
       COUNT(1) as toalrows
  FROM FTP.NBZZ_KHLR_NEW_201312 a,
       DB2ADMIN.JAF_OM_EMPLOYEE b,
       FTP.ORG_EMP_HISTORY c
 WHERE     a.ZH = '7271010103100076601'
       AND a.OP_ID = b.userid
       AND b.EMPID = c.EMPID
       AND c.HISDATE = '2013-12-31';
 
或者
 
SELECT a.OP_ID,
       a.FHLRHZ,
       c.ORGNAME_LEVEL2,
       c.ORGNAME_LEVEL3,
       c.ORGSEQ,
       a.kmh,
       COUNT(1) as toalrows
  FROM FTP.NBZZ_KHLR_NEW_201312 a,
       DB2ADMIN.JAF_OM_EMPLOYEE b,
       FTP.ORG_EMP_HISTORY c
 WHERE     a.ZH = '7271010103100076601'
       AND a.OP_ID = b.userid
       AND b.EMPID = c.EMPID
       AND c.HISDATE = '2013-12-31';
       
       
35000164 52560.00 客户四部 .citic.1.2221.2266. 1210100    1
35000414 9855.00 客户四部 .citic.1.2221.2266. 1210100    1
35000889 3285.00 客户四部 .citic.1.2221.2266. 1210100    1
 
 
而有些时候需求是查询结果的同时,不想再写一条查询结果集大小的sql. 希望一并能查询出来。OLAP的提供的count(*) over() as nums可以解决。
SELECT a.OP_ID,
       a.FHLRHZ,
       c.ORGNAME_LEVEL2,
       c.ORGNAME_LEVEL3,
       c.ORGSEQ,
       a.kmh,
       COUNT(1) OVER () as toalrows
  FROM FTP.NBZZ_KHLR_NEW_201312 a,
       DB2ADMIN.JAF_OM_EMPLOYEE b,
       FTP.ORG_EMP_HISTORY c
 WHERE     a.ZH = '7271010103100076601'
       AND a.OP_ID = b.userid
       AND b.EMPID = c.EMPID
       AND c.HISDATE = '2013-12-31';
 
 
35000164 52560.00 客户四部 .citic.1.2221.2266. 1210100    3
35000414 9855.00 客户四部 .citic.1.2221.2266. 1210100    3
35000889 3285.00 客户四部 .citic.1.2221.2266. 1210100    3
 
 
OLAP函数参考:http://www.cnblogs.com/Fskjb/archive/2011/02/28/1967429.html

DB2中OLAP函数使用示例的更多相关文章

  1. 关于db2中listagg函数开发中的体验

    一.首先解释一下可能会查询的基础问题: 1.1db2 “with ur”是什么意思: 在DB2中,共有四种隔离级:RS,RR,CS,UR.以下对四种隔离级进行一些描述,同时附上个人做试验的结果.隔离级 ...

  2. DB2中coalesce函数的应用

    在ETL项目中经常会碰到这样的一种情况: 目标表中的某列来源于不同的源数据表A,B,C.如果在A中没有有效的数据则从B中取,如果B中没有则从C中取,如果C中也没有则设置为空值. 遇到这样的情况可能,有 ...

  3. db2中left()函数和right()函数对应oracle中的substr()函数

     DB2 LEFT.RIGHT函数 语法:LEFT(ARG,LENGTH).RIGHT(ARG,LENGTH) LEFT.RIGHT函数返回ARG最左边.右边的LENGTH个字符串,ARG可以是CHA ...

  4. [代码]--db2中left()函数和right()函数对应oracle中的substr()函数

     DB2 LEFT.RIGHT函数 语法:LEFT(ARG,LENGTH).RIGHT(ARG,LENGTH) LEFT.RIGHT函数返回ARG最左边.右边的LENGTH个字符串,ARG可以是CHA ...

  5. DB2函数简单示例

    DB2中的函数原理同其他编程语言中的函数,均为输入几个参数,同时返回一个值. 下面的例子演示一个寻找某一次考试中成绩最好的学生的姓名. 首先,我们新建一个表SCORE用于表示考试,并插入几条数据: D ...

  6. db2 OLAP函数使用

    说起 DB2 在线分析处理,可以用很好很强大来形容.这项功能特别适用于各种统计查询,这些查询用通常的SQL很难实现,或者根本就无发实现.首先,我们从一个简单的例子开始,来一步一步揭开它神秘的面纱,请看 ...

  7. DB2 OLAP函数的使用

    说起 DB2 在线分析处理,可以用很好很强大来形容.这项功能特别适用于各种统计查询,这些查询用通常的SQL很难实现,或者根本就无发实现.首先,我们从一个简单的例子开始,来一步一步揭开它神秘的面纱,请看 ...

  8. Python中split()函数的用法及实际使用示例

    Python中split()函数,通常用于将字符串切片并转换为列表. 一.函数说明: split():语法:str.split(str="",num=string.count(st ...

  9. Shell脚本中使用function(函数)示例

    这篇文章主要介绍了Shell脚本中使用function(函数)示例,本文着重讲解的是如何在shell脚本中使用自定义函数,并给出了两个例子,需要的朋友可以参考下   函数可以在shell script ...

随机推荐

  1. Spring MVC静态资源处理(在applicationContex.xml文件中进行配置)

    优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往 ...

  2. 禁用 WebView 放大镜及拷贝粘贴弹出框

    文/KyXu(简书作者)原文链接:http://www.jianshu.com/p/40048d9c979a著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 背景:当你的App中有 We ...

  3. sqlplus实现上下翻页设置

    环境: 操作系统:red hat 5.8 OS 数据库:oracle 11g 11.2.0.1 安装软件:IO-Tty-1.07.tar. Term-ReadLine-Gnu-1.16.tar.uni ...

  4. 从0开始学Swift笔记整理(二)

    这是跟在上一篇博文后续内容: --函数中参数的传递引用 类是引用类型,其他的数据类型如整型.浮点型.布尔型.字符.字符串.元组.集合.枚举和结构体全部是值类型. 有的时候就是要将一个值类型参数以引用方 ...

  5. 【Python自动化运维之路Day2】

    1. 常量命名规则 在Python中,会在变量命名上标明某变量是常量,通常采用全是大写的方式来标明,如: CONNECT= '127.0.0.1' PORT = ' 2.Python编译 python ...

  6. 【基础知识】.Net基础加强08天

    一. 文件的读取 1. 有FileStrem,为什么还要StreamWriter和StreamRead StreamWriter和StreamRead是用来读取文本文件的,每次只读取一行文本文件 二. ...

  7. SSH Secure Shell Client的windows客户端样式设置

    SSH Secure Shell Client下载:http://pan.baidu.com/s/1dF2lDdf 其他工具(putty-0.67)下载:http://pan.baidu.com/s/ ...

  8. Mac下修改环境变量

    Mac下修改环境变量 如果使用默认Bash, 首先修改 ~/.bash_profile 文件,添加文件路径,比如: export PATH=~/bin:/usr/local/bin/node:~/Do ...

  9. SignalR 简单示例

    一.什么是 SignalR ASP.NET SignalR is a library for ASP.NET developers that simplifies the process of add ...

  10. 一键QQ聊天与一键加群QQ功能

    最新有项目要求,点击页面上的一个按钮,实现直接启动QQ聊天,添加QQ群的功能. 开始以为会很复杂,百度后发现QQ已经有考虑到这方面的需求,只需进入:QQ推广 -> 推广工具 就能看到如下界面