rollup函数(分组后对每组数据分别合计)

2023-10-26

  • 需求:sql通过分组查询后,对每组数据进行小计,然后对总的数据总计
  • rollup的作用:
    用 ROLLUP 汇总数据,在生成包含小计和合计的报表时,ROLLUP 运算符很有用。
  • 例子:
SQL> select deptno,job,sum(sal) from emp group by deptno,job order by deptno;
 2 单独使用分组查询
 3  
 4 DEPTNO JOB         SUM(SAL)
 5 ------ --------- ----------
 6     10 CLERK           1300
 7     10 MANAGER         2450
 8     10 PRESIDENT       5000
 9     20 ANALYST         6000
10     20 CLERK           1900
11     20 MANAGER         2975
12     30 CLERK            950
13     30 MANAGER         2850
14     30 SALESMAN        5600
15  
16 已选择9行。

使用rollup函数分组:
SQL> select deptno,job,sum(sal) from emp group by rollup(deptno,job) order by deptno;
19  
20 DEPTNO JOB         SUM(SAL)
21 ------ --------- ----------
22     10 CLERK           1300 第一次分组的sum总和计算
23     10 MANAGER         2450
24     10 PRESIDENT       5000
25     10                 8750 第二次分组添加的计算(分组小计)
26     20 ANALYST         6000
27     20 CLERK           1900
28     20 MANAGER         2975
29     20                10875
30     30 CLERK            950
31     30 MANAGER         2850
32     30 SALESMAN        5600
33     30                 9400
34                       29025 第三次分组添加的计算(总计)
35 所以rollup函数进行多次分组计算
36  
37 已选择13行。

参考博客

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

rollup函数(分组后对每组数据分别合计) 的相关文章

  • SQL 表别名 - 好还是坏? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在 SQL 中使用表别名有哪些优点和缺点 我个人会尽量避免使用它们 因为我认为它们会使代码的可读性降低 特别是在阅读大型 where and 语
  • SQL 外键引用

    Does FOREIGN KEY a REFERENCES A a FOREIGN KEY b REFERENCES A b 与以下含义相同 FOREIGN KEY a b REFERENCES A a b No 有两个references
  • SQL - 选择具有最大值的所有行

    我有这个 SQL 查询 SELECT id COUNT AS price FROM SELECT FROM rt WHERE somecondition AS st JOIN tt ON st id tt id GROUP BY id 现在
  • 仅当列不为 NULL 时才连接列

    我有一个像这样的 SQL Server 表 PERSON NAME PHONE PHONE1 PHONE2 PHONE CONCAT Name1 12345 Null Null Null
  • MySQL - 将字段的默认值设置为字符串连接函数

    我有一个看起来有点像这个的表 actor forename surname stage name 我想将 stage name 更新为默认值 forename surname So that insert into actors foren
  • 如何持续交付基于SQL的应用程序?

    我希望将持续交付概念应用到我们正在构建的 Web 应用程序中 并想知道是否有任何解决方案可以保护数据库免受意外错误提交的影响 例如 删除整个表而不是单个记录的错误 根据持续交付原则 如何限制这个问题的影响 即应用程序逐渐部署在基础设施的各个
  • Hive 中的 CASE 语句

    好的 我有以下代码来用二进制标志标记表中具有最高 Month cd 的记录 Select t1 month cd t2 max month cd CASE WHEN t2 max month cd null then 0 else 1 en
  • GRANT EXECUTE 所需的权限

    我正在为需要能够创建和删除过程但也向其他用户授予执行权限的用户创建一个组 GRANT CREATE PROCEDURE TO xxx xxx GRANT ALTER ON SCHEMA dbo TO xxx xxx 但是 我需要向组授予什么
  • 如何编写一个简单的版本控制系统?

    我想做一个简单的版本控制系统 但我不知道如何构建我的数据和代码 这是一个简短的例子 用户登录 User has two options when uploading a file 提交新文件 提交文件的新版本 用户应该能够看到树 版本不同
  • 使用 START WITH 和 CONNECT BY PRIOR 将查询从 oracle 迁移到 postgresql

    我正在将一个进程从 oracle 迁移到 postgresql 并且在它们的转换方面遇到了另一个问题 我一直在研究如何迁移oracle查询 它有 START WITH 和 CONNECT BY PRIOR 我已经对此进行了记录 我认为最简单
  • 使用绑定变量动态传递表名和列名

    有没有办法使用绑定变量将列名和表名动态传递给查询 这可以通过使用简单的串联运算符来完成 但我想要一种不同的方法来实现这一目标 EDIT OPEN abc cur FOR Select column name from table name
  • Oracle 函数编译成功,但在执行 PLS-00221 时抛出错误:不是过程或未定义

    我有简单的oracle功能 create or replace function abs test func test in in number return number is test out number BEGIN test out
  • PDO 和 Microsoft SQL:必须声明表变量“@P1”

    我正在尝试使用 PDO 中的绑定从 Microsoft SQL 数据库中选择一些条目 我正在使用的代码看起来与我在文档中找到的代码类似 但是 当我运行它时 我收到以下警告 警告 PDOStatement execute pdostateme
  • 使用存储过程访问数据可以提供哪些安全优势?

    我看到一些指南建议您通过存储过程对所有数据访问进行分层来保护数据库 我知道对于 SQL Server 您可以保护表甚至列免受 CRUD 操作的影响 例如 Logged in as sa USE AdventureWorks GRANT SE
  • 如何编辑表以启用级联删除?

    我有一个代表用户的表 当用户被删除时我得到 DELETE 语句与 REFERENCE 约束冲突 显然 CASCADE DELETE在SQL Server中并不像我想象的那么容易 需要将选项添加到表中 问题是 我不知道如何添加CASCADE
  • WHERE 子句或 ON 子句中的 INNER JOIN 条件?

    我今天输错了一个查询 但它仍然有效并给出了预期的结果 我的意思是运行这个查询 SELECT e id FROM employees e JOIN users u ON u email e email WHERE u id 139840 但我
  • 如何在 SQL 中编写 where 子句来按一天中的时间过滤 DATETIME 列?

    我有带有 DATETIME 列时间戳的数据 我想将其过滤到 DATETIME 介于上午 9 30 到下午 5 30 之间的任意一天的记录集 最好的方法是什么 更新 更改是因为我需要精确到分钟 而不仅仅是小时 对于那个很抱歉 您始终可以将其编
  • 获取 SQL 表上未使用的唯一值

    我有一个表 其中有一列描述数字 ID 该 ID 对于所有行都是唯一的 但它不是主键 数字 ID 是有限的 假设答案可以是从 1 到 10 SELECT ID FROM TABLE ID 1 2 5 我必须 通过 UI 向用户呈现未使用的值
  • 获取SQL中前2个特殊字符之间的字符

    我有数据在sql 只是要注意 SQL STudio is the IDE like data a 10 b c a 1 b c 我想获取前两个符号之间的数据 Output 10 1 这就是我的方法 SELECT CAST
  • 根据 SQL 查询的集合生成成员的“散点图”结果

    我有一个staff包含工作人员的数据库表 其中user no and user name列 我还有一个 department 包含员工可以加入的部门的表 其中dept no and dept name作为列 因为员工可以是多个部门的成员 所

随机推荐

  • 全国等级保护测评机构推荐目录

    转自 http www djbh net webdev web LevelTestOrgAction do p nlbdLv3 id 402885cb35d11a540135d168e41e000c 国家信息安全等级保护工作协调小组办公室推
  • 机器学习实战:AdaBoost预测病马率

    import numpy as np 函数说明 加载数据集 Parameters filename 文件名 Returns dataMat 数据集 labelMat 标签 def loadDataSet filename numFeat l
  • select epool

    一 问题引出 联系区别 问题的引出 当需要读两个以上的I O的时候 如果使用阻塞式的I O 那么可能长时间的阻塞在一个描述符上面 另外的描述符虽然有数据但是不能读出来 这样实时性不能满足要求 大概的解决方案有以下几种 1 使用多进程或者多线
  • Deepin 20.1 安装nvidia显卡驱动 爬坑

    前言 之前用的是ubuntu系统 装得也是双系统 然后最近看到了deepin 系统 然后就装了下 在装nvidia显卡时 遇到了重启蓝屏的问题 在反复重装N多次系统同时查阅N多次网友资料时 总结出以下几点 当然如果你想安装的话直接滑下方 不
  • 【计算机视觉

    文章目录 一 检测相关 8篇 1 1 Attending Generalizability in Course of Deep Fake Detection by Exploring Multi task Learning 1 2 Harv
  • 基于参数shared_pool_reserved_size进一步理解共享池shared pool原理

    结论 1 与共享池相关的参数为 shared pool size shared pool reserved size shared pool reserved pct shared pool reserved min alloc 2 sha
  • String的三种遍历方式

    include include using namespace std int main string s1 string s2 hello bite string s3 s2 1 for循环 for size t i 0 i lt s2
  • JUC学习系列十一(并发类容器)

    首先了解一下并发类容器和同步类容器的概念 以及这两类的区别 一 同步类容器 同步类容器都是线程安全的 但在某些场景下可能需要加锁来保护复合操作 复合类操作如 迭代 反复访问元素 遍历完容器中的所有元素 跳转 根据指定的顺序找到当前元素的下一
  • Android——WebView控件访问网页

    目录 一 WebView 1 基本使用 2 最简单的demo 3 注意 二 小练手 1 EditView补充内容 2 案例 一 WebView Webview 是一个基于webkit的引擎 可以解析DOM 元素 展示html页面的控件 我们
  • 前端基础,超全html常用标签大汇总

    标签 整个html文件都会放在html标签里面 标签 表示网页的头部信息 一般是为浏览器提供对应的网站需要的相关信息 浏览器中是不会显示的 比如 标题title 引入css 字符编码等 但是title标题会在浏览器的标题栏显示 标签 里面的
  • 服务器中毒怎么办,如何防御?

    数据中心在为用户提供服务器空间和网络服务时 往往也会为用户提供日常维护服务 用户在服务器运行使用中会突然就发现自己的服务器存在中毒和疑似中毒的现象 那么如何进行中毒行为的排查和清理 为用户提供日常维护服务的过程中经常听到用户抱怨自己使用的服
  • uniapp 选择地址

    uni getLocation OBJECT uni app官网 wx getSetting success res gt if res authSetting scope userLocation wx authorize scope s
  • 【Node】Deepin和Centos 简单快速安装Node和npm和pnpm

    1 deepin 进行安装 安装npm sudo apt install npm 安装node sudo npm install g n 升级node到稳定版 sudo n stable 升级到最新版 sudo n latest 升级npm
  • Databend Cloud 入选中国信通院《云原生产品目录》

    近日 在中国信通院召开的云原生产业大会上 正式发布了 2022 年度首批 云原生产品目录 Databend Cloud 产品成功入选 云原生产品目录 中国信通院为解决云原生用户选型困境 全面拉齐行业认知 推动云原生产业蓬勃发展 而发起 征集
  • pip install 安装路径的修改

    一般我们需要安装第三方库的时候 都是进入cmd中用pip命令来进行安装 安装各类包 但是默认安装路径在C盘 极大占用空间 下面我们就来修改一下默认的安装路径 1 查看pip默认的安装路径 打开命令提示符 win r 输入cmd 输入命令如下
  • 全国计算机二级WPS Office题库(四)

    根据最新考试大纲要求 结合近年来考试真题的重难点进行汇编整理组成的全真模拟试题 考生们可以根据文章进行专项训练 查漏补缺巩固知识点 我们对热点考题和重难点题目都进行了仔细的整理和编辑 相信考生在经过了针对性的刷题联系后 对于考试内容会更加有
  • tensorflow-gpu版本安装教程(过程详细)

    准备工作 在开始安装前 如果你的电脑装过tensorflow 请先把他们卸载干净 包括依赖的包 tensorflow estimator tensorboard tensorflow keras applications keras pre
  • myBatis 常见问题(一)查询结果字段为null

    问题描述 查询认购单详情
  • 使用python爬爬菜价

    第一步我们先导入需要用到的库 from requests html import HTMLSession import pymysql import json 然后打开网站 点击查看更多 点击下一页 发现网页地址栏没有变化 由此可知这是一个
  • rollup函数(分组后对每组数据分别合计)

    需求 sql通过分组查询后 对每组数据进行小计 然后对总的数据总计 rollup的作用 用 ROLLUP 汇总数据 在生成包含小计和合计的报表时 ROLLUP 运算符很有用 例子 SQL gt select deptno job sum s