Oracle中的SUM条件查询

1、按照区域编码分组查询区域编码、IPTV_NBR不为空的数量、ACC_NBR不为空的数量、所有用户数量

SELECT

AREA_CODE,

SUM (

CASE

WHEN IPTV_NBR IS NULL or IPTV_NBR = '' THEN

0

ELSE

1

END

),

SUM (

CASE

WHEN ACC_NBR IS NULL or ACC_NBR = '' THEN

0

ELSE

1

END

),

COUNT (*)

FROM

GAT_SQMS.GAT_SQMS_BAND_IPTV_VIEW

GROUP BY

AREA_CODE;

2、使用sum条件查询

查询IPTV_NBR不为空的数量

SUM (

CASE

WHEN IPTV_NBR IS NULL or IPTV_NBR = '' THEN

0

ELSE

1

END

)

SUM里边使用CASE WHEN 语句

当IPTV_NBR IS NULL 为0,ELSE 为1

oracle中sum字符串方法

CREATE OR REPLACE FUNCTION SumString(i_TableName IN VARCHAR2,

i_GroupColName IN VARCHAR2,

i_ResultColName IN VARCHAR2,

i_GroupColValue IN VARCHAR2,

i_Separator IN VARCHAR2)

RETURN VARCHAR2 IS

TYPE T_Cur IS REF CURSOR;

C_Cur T_Cur;

V_Sql VARCHAR2(2000);

V_Result VARCHAR2(2000);

V_Tmp VARCHAR2(200);

V_Cnt NUMBER := 0;

BEGIN

V_Result := ' ';

V_Sql := 'SELECT ' || i_ResultColName || ' FROM ' || i_TableName ||

' WHERE ' || i_GroupColName || ' = ' || i_GroupColValue;

OPEN C_Cur FOR V_Sql;

LOOP

FETCH C_Cur

INTO V_Tmp;

EXIT WHEN C_Cur%NOTFOUND;

IF V_Cnt = 0 THEN

V_Result := V_Tmp;

ELSE

V_Result := V_Result || i_Separator || V_Tmp;

END IF;

V_Cnt := V_Cnt + 1;

END LOOP;

CLOSE C_Cur;

RETURN V_Result;

END SUMSTRING;

总结

上面即是这篇文章的全部内容了,希望此文的内容对各位亲们能有帮助,谢谢大家对学猫在线(shtml.net)的支持。如果你想了解更多相关内容请查看下面相关链接

本文来源:https://blog.csdn.net/gy13477001651/article/details/7711388

Java中gatSum方法是什么_Oracle中的SUM用法讲解相关推荐

  1. oracle中col 的用法,Oracle中的SUM用法讲解,

    Oracle中的SUM用法讲解, Oracle中的SUM条件查询 1.按照区域编码分组查询区域编码.IPTV_NBR不为空的数量.ACC_NBR不为空的数量.所有用户数量 SELECT AREA_CO ...

  2. java中的方法在哪里_Java中的本机方法是什么,应在哪里使用?

    小编典典 Java中的本机方法是什么,应在哪里使用? 一旦看到一个小例子,就很清楚了: Main.java : public class Main { public native int intMet ...

  3. 2021-12-27 Java String contains() 方法用于判断字符串中是否包含指定的字符或字符串。用.toLowerCase().contains忽视大小写。

    一.public boolean contains(CharSequence chars) contains() 方法用于判断字符串中是否包含指定的字符或字符串. 二.返回值        如果包含指 ...

  4. java中speak方法的意思_Java中的關鍵字

    首先是訪問控制的關鍵字,分 public.protected.default.private四種,權限如下: (權限)      public      protected     default   ...

  5. python中repr方法_(转)Python中的常见特殊方法—— repr方法

    在Python中有些方法名.属性名的前后都添加了双下划线,这种方法.属性通常都属于Python的特殊方法和特殊属性,开发者可以通过重写这些方法或者直接调用这些方法来实现特殊的功能.其实前面见过的构造方 ...

  6. python教程:Json模块中dumps、dump、loads、load函数用法讲解

    1.json.dumps()和loads() json.dumps()将dict类型数据转成str. json.loads()刚好相反,将str类型的数据转成dict. import json dat ...

  7. JAVA中console方法怎么用_Java中Console对象实例代码

    Java中Console对象实例代码 发布于 2020-12-20| 复制链接 摘记: 在JDK 6中新增了java.io.Console类,可以让您取得字节为基础的主控台装置,例如,您可以藉由Sys ...

  8. Java List.size()方法:返回列表中元素的个数(亲测)

    Java 集合类中的 List.size() 方法以 int 形式返回列表中元素的个数. 语法: size() 返回列表中元素的个数.如果列表中元素的个数超过 2 147 483 647,则返回 2 ...

  9. java 获取当前方法的名称_Java中获取当前函数名

    有时候我们需要在程序中获取当前运行的函数名,如何简单的做到这点呢?我们可以用getStackTrace轻松搞定. 一提到getStatckTrace多数人会联想到Thowable中的getStackT ...

最新文章

  1. 【错误记录】Android 编译时技术报错 ( 注解处理器 process 方法多次调用问题 )
  2. 全面解析虚拟内存概念
  3. IT 巡检内容、工具、方法 amp; Linux / AIX / Oracle / VMware 巡检表模板 | 周末送资料...
  4. 汇编语言快速入门学习笔记
  5. 记录学习MVC过程,HTML铺助类(二)
  6. jdk解压版_命令行版的斗地主你玩过没?
  7. yolov5论文_YOLOv5的妙用:学习手语,帮助听力障碍群体
  8. 杭电2013-蟠桃记(C++)
  9. LeetCode 2141. 同时运行 N 台电脑的最长时间(二分查找)
  10. 热点事件发现、演化及时间线Timeline、故事线Storyline自动生成
  11. 图解Android - Android GUI 系统 (1) - 概论
  12. 如何使用pass语句?
  13. python3 相对路径导入_Python中相对路径(导入)和绝对路径(导入)的区别
  14. 制作u盘winpe启动盘_u盘启动盘制作工具 纯净+好用,原来不止是 微pe
  15. 网络语言3c是什么意思,2017网络流行语大全:这些网络新词你知道吗
  16. JS面向对象(仿邮箱登录提示框)
  17. C++中换行endl和\n的区别
  18. 【大白菜】介绍几个维护U盘安全的技巧
  19. 【JavaSE系列】世界上“最好的语言”——认识Java编程语言
  20. ubtuntu Proftpd 同时支持SFTP和FTP

热门文章

  1. 使用 jQuery Mobile 与 HTML5 开发 Web App (十二) —— jQuery Mobile 页面事件与 deferred
  2. javascript下的arguments,caller,callee,call,apply示例及理解
  3. 斗地主AI算法——第十三章の主动出牌(2)
  4. linux 查看端口号
  5. PyOpenGL之3D界面详解(二)
  6. 【三维深度学习】点云上采样网络PU-Net
  7. 综合演练 实现登陆功能 1124
  8. 03 使用T-SQL语句实现数据的添加、更新、删除测试分析 1214
  9. 使用控件设计窗体 上 布局主窗体 添加标签与文本框控件
  10. 算法--库函数实现全排列