You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle:仅对存在重复行的列求和并改造视图去重

修改Oracle视图实现分组求和

嘿,我明白你的需求啦——你现在的TESTVIEW.VW_SUM__DOCUMENTS视图返回了重复的document_num行,想要修改成按document_num分组,对amount求和,最终返回无重复的结果集对吧?

修改后的视图创建语句

直接用GROUP BY对document_num分组,配合SUM()聚合函数就能实现:

CREATE OR REPLACE FORCE VIEW "TESTVIEW"."VW_SUM__DOCUMENTS" ( "DOCUMENT_NUM", "AMOUNT") 
AS 
SELECT 
    vw_container_documents.document_num, 
    SUM(vw_container_documents.amount) AS amount 
FROM vw_container_documents 
WHERE vw_container_documents.parent_id IS NOT NULL
GROUP BY vw_container_documents.document_num;

改动说明

  • 将原来直接提取amount的逻辑替换为SUM(vw_container_documents.amount),这样会自动把同一document_num下的所有金额累加
  • 新增GROUP BY vw_container_documents.document_num约束,确保每个document_num只生成一行结果,彻底消除重复

预期返回结果

修改后的视图会输出这样的无重复结果集:

document_numamount
254
232

内容的提问来源于stack exchange,提问作者e2rabi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:46:58