sql - 如何计算所有行的总数并显示为列?
问题描述
例如,我有一个如下表:
Fruit | Count
=================================
Apples | 3
Oranges | 4
Pineapple | 3
Pear | 5
我想从此表中进行选择,找到水果的总数(在本例中为 15)并在选择查询输出中显示该总数。(沿着每一行)。输出样本:
Fruit Count Total
-----------|------------|-------------
Apples | 3 | 15
Oranges | 4 | 15
Pineapple | 3 | 15
Pear | 5 | 15
我已经尝试了下面的查询并且它有效:
select Fruit, Count, (select sum(count) from FruitTable) from FruitTable;
但我不想写子查询。有没有更好的方法来做到这一点?
解决方案
分析函数在这里派上用场:
SELECT
Fruit,
Count,
SUM(Count) OVER () Total
FROM yourTable;
推荐阅读
- maven - Intellij pom.xml 依赖无法解决
- multithreading - 通过并行化提高循环性能
- angular - 如果我的布局中有两个侧边栏,如何设置 Nebular 的侧边栏宽度?
- c - 什么是 C 中的操作中的“对称性”?
- vue.js - Vue2-leaflet LMap/LTileLayer 未正确渲染
- python-3.x - python中的IBM cplex ilog VS docplex
- sql - 如何将字符串“dd/mm/yy hh:mm:ss”插入到 bigquery 的日期时间列中
- windows - 是否可以强制 Windows API 调用始终返回英文字符串(en-us)?
- excel - Excel Power Query 在其他列之间插入列
- java - Neo4j 升级到 4.0.6:在应用程序服务器中部署时无法链接 org/neo4j/cypher/internal/v4_0/parser/Expressions (Wildfly 18)