sql - Oracle SUM 返回错误的摘要,其中包含从 SELECT UNION 返回的相同值

标签 sql database oracle sum

我遇到了 SUM 语句的问题。

此查询返回 MY_ID = 1QTY = 7

select my_id, sum(qty) qty
from
(     
  select 1 my_id ,2 qty from dual
union
  select 1 my_id, 5 qty from dual
)
group by my_id;

但是这个返回 MY_ID = 1QTY = 5 而不是 QTY = 10

select my_id, sum(qty) qty
from
(     
  select 1 my_id ,5 qty from dual
union
  select 1 my_id, 5 qty from dual
)
group by my_id;

如果两个值相同,我如何总结这两个数量?

最佳答案

使用联合所有:

select my_id, sum(qty) qty
from
(     
  select 1 my_id ,5 qty from dual
union all
  select 1 my_id, 5 qty from dual
)
group by my_id;

关于sql - Oracle SUM 返回错误的摘要,其中包含从 SELECT UNION 返回的相同值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23218090/

相关文章:

c# - 如何通过同步实现 C# Winforms 数据库应用程序?

c# - 当我尝试向 Oracle 插入日期和时间时出现 ORA-01843

oracle - 进行 HASH JOIN 时什么是 HASH TABLE?

database - 为什么向数据库字段添加索引会加快对该字段的搜索速度?

sql - 每组 LIMIT - Google BigQuery/标准 SQL

sql - Laravel 迁移 - 是否可以使用 SQL 而不是模式命令来创建表和字段等?

html - 如何在html中以特定格式显示sql数据

mysql - 如何将时间列分别分组为 5 分钟间隔和最大/最小值 SQL?

c - 为了在 C 中使用 SQL,我们需要在程序中包含哪些头文件?

sql - 根据同一表中的不同条件在同一字段上显示计数