假设您有一些包含这两列的项目表:
项目名称
价钱
.... ItemName
是唯一的。
您如何显示每个ItemName
的所有价格的总和(我使用的是Oracle)?如果我只是尝试这样做:
SELECT ItemName,
SUM(Price)
FROM Items
我收到此错误:
ORA-00937:不是单个组的组
功能
...仅当我使用GROUP BY时才消失。但是,我只能按组求和,而不是全部求和。
最佳答案
您不能在同一查询中同时分组和不分组。您可以使用子查询来获取价格:
select ItemName, (select sum(Price) from Items) as AllPrices
from Items
由于子查询不使用主查询中记录中的任何数据,因此数据库应该能够对其进行优化以仅执行一次子查询。
关于sql - 显示所有记录的总和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1947523/