sql - 如何在 oracle sql 中获取 group by 的总和?
问题描述
SELECT SUBSTR(SSN,8,1), COUNT(*)
FROM HR
GROUP BY SUBSTR(SSN,8,1)
的结果
SUBSTR(SSN,8,1), COUNT(*)
1,32
2,30
我怎样才能得到分组的总和,32+30?
解决方案
一种选择是使用ROLLUP()
或CUBE()
扩展,例如
SELECT SUBSTR(SSN,8,1), COUNT(*)
FROM HR
GROUP BY ROLLUP( SUBSTR(SSN,8,1) )
或者
SELECT SUBSTR(SSN,8,1), COUNT(*)
FROM HR
GROUP BY CUBE( SUBSTR(SSN,8,1) )
推荐阅读
- java - 使用多个子句在 JDBC 中选择计数
- node.js - 有两台后端服务器时如何共享数据库架构?
- flutter - Flutter 多个 WebView 小部件错误“状态不佳:未来已完成”
- javascript - 如何在 Html 中的 blogspot 出现下载按钮链接之前设置 10 秒倒计时?
- python - 在 python 中格式化 HTML pandas 表
- ios - 无法安装吊舱
- powershell - Powershell:无法在空值表达式上调用方法
- batch-file - Windows批处理文件将文件名传递给vbscript
- excel - VBA Excel - 从质量差的 PDF 转换 Word 文档
- prolog - 在 Prolog 中,如何表示 a(X) => b(X) V c(X)?