热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Oracle数据查询与统计汇总技巧

本文详细介绍了如何在Oracle数据库中对查询结果进行统计汇总,并将汇总结果以新行的形式添加到查询结果的末尾。

前言:本文旨在为开发者提供 Oracle 数据库中查询结果统计汇总的方法,通过实际案例演示如何将统计结果整合到查询结果中,以增强数据处理能力。


在 Oracle 数据库中,我们经常需要对查询结果中的特定列进行统计汇总,例如计算某一列的总和,并将这个汇总值作为一个新的行添加到查询结果的末尾。这可以通过使用 SQL 中的 ROLLUP 功能来实现,下面是一个具体的例子:


SELECT
CASE WHEN text IS NOT NULL THEN text ELSE '总计' END text,
CASE WHEN text IS NOT NULL THEN id ELSE 0 END id,
SUM(total_num) AS total_num
FROM (SELECT text,
(CASE
WHEN ID = 1 THEN 1
WHEN ID = 2 THEN 2
WHEN ID = 3 THEN 4
WHEN ID = 4 THEN 4
WHEN ID = 5 THEN 5
WHEN ID = 6 THEN 4
WHEN ID = 7 THEN 4
END) id,
SUM(total_num) total_num
FROM (SELECT aa.id, aa.text, 1 total_num
FROM (SELECT 1 id,'AAA' text FROM dual
UNION
SELECT 2 id,'BBB' text FROM dual
UNION
SELECT 3 id,'CCC' text FROM dual
UNION
SELECT 4 id,'CCC' text FROM dual
UNION
SELECT 6 id,'CCC' text FROM dual
UNION
SELECT 7 id,'CCC' text FROM dual
UNION
SELECT 5 id,'DDD' text FROM dual
)aa
)
GROUP BY text,(CASE
WHEN id = 1 THEN 1
WHEN id = 2 THEN 2
WHEN id = 3 THEN 4
WHEN id = 4 THEN 4
WHEN id = 5 THEN 5
WHEN id = 6 THEN 4
WHEN id = 7 THEN 4
END)
ORDER BY id
) A
GROUP BY rollup(text,id)
HAVING text IS NULL OR id IS NOT NULL

执行上述 SQL 查询后,查询结果中会额外包含一行统计汇总信息,该行显示了所有记录的总和,便于快速查看数据的整体情况。


推荐阅读
  • 探讨了一个关于Windows C++开发中遇到的乱码问题,特别是在处理宽字符时出现的情况。本文通过一个具体的示例——一个简单的窗口应用程序,展示了如何正确地使用宽字符以避免乱码。 ... [详细]
  • 本文详细介绍了Oracle数据库的基本架构,包括数据文件和内存结构的概念。文章重点解释了Oracle实例的组成部分,如系统全局内存区域(SGA)和后台进程,以及客户端进程与服务器进程的交互方式。此外,还探讨了SGA中的共享池、库高速缓存、锁存器及SGA缓冲区缓存等关键组件的功能和运作机制。 ... [详细]
  • 本文详细介绍了MySQL 5.5及以上版本中事务管理的全过程,包括事务的启动、设置、锁机制以及解锁方法,旨在为开发者提供一个清晰、全面的操作指南,避免因网络资料分散而导致的学习障碍。 ... [详细]
  • SQL技巧:处理重复值时将特定列设为0.000
    本文探讨了在遇到重复值时如何使用SQL将某一列设置为0.000的方法,特别适用于需要根据特定条件更新数据的场景。 ... [详细]
  • 本文详细探讨了 Java 中 Daemon 线程的特点及其应用场景,并深入分析了 Random 类的源代码,帮助开发者更好地理解和使用这些核心组件。 ... [详细]
  • 本文介绍了如何通过十折交叉验证方法评估回归模型的性能。我们将使用PyTorch框架,详细展示数据处理、模型定义、训练及评估的完整流程。 ... [详细]
  • Pikachu平台SQL注入漏洞详解
    本文详细介绍了SQL注入漏洞的基本原理、攻击流程、不同类型注入点的识别与利用方法,以及基于union联合查询、报错信息、布尔盲注、时间盲注等多种技术手段的信息获取方式。同时,探讨了如何通过SQL注入获取操作系统权限,以及HTTP Header注入和宽字节注入等高级技巧。最后,提供了使用SQLMap自动化工具进行漏洞测试的方法和常见的SQL注入防御措施。 ... [详细]
  • 解决CSS因MIME类型不匹配导致的加载失败问题
    本文详细介绍了在Web开发过程中,遇到CSS文件因MIME类型不匹配而无法正确加载的问题及其解决方案,适合前端开发者阅读。 ... [详细]
  • 开发笔记:三分钟快速搭建分布式高可用的Redis集群
    开发笔记:三分钟快速搭建分布式高可用的Redis集群 ... [详细]
  • 根据值获得值相同的字段名和所在的表(mysql)
    2019独角兽企业重金招聘Python工程师标准这个问题来源于一个奇怪的需求。。太长了懒得解释了。。反正就是希望根据值找到这个值相同的字段名和所在表用程序写可以我不用了直接s ... [详细]
  • 开发笔记:Mongodb副本集集群搭建 ... [详细]
  • 开发笔记:异步实时搜索jquery select插件
    开发笔记:异步实时搜索jquery select插件 ... [详细]
  • 在上一章【第三十九章:基于SpringBoot&Quartz完成定时任务分布式单节点持久化】中我们已经完成了任务的持久化,当我们创建一个任务时任务会被quartz定时任务框架自动持 ... [详细]
  • 本文探讨了在Android应用程序开发过程中动态管理Fragment的方法,包括动态添加和切换Fragment,以及如何实现平滑的过渡动画。文章通过一个具体的案例——订单管理系统,详细介绍了实现步骤和技术细节。 ... [详细]
  • vue基础——表单输入绑定
    一、基础用法你可以用v-model指令在表单及元素上创建双向数据绑定。它会根据控件类型自动选择正确的方法来更新元素。尽管有些神奇,但 ... [详细]
author-avatar
双子座-海_358
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有