sql - 将查询分组为 3 列,并在 Apex Oracle 中显示另一列的总和
问题描述
我想做一个报告。在我的要求中,这并不难。我在此请求中指定日期和记录类型(正数或负数)。我希望此查询按字段 CONTRACTORID、ITEMID ORGANIZATION 分组。并在 NETTO 上提取金额。
select
ID, DOCNUMBER,DOCDATE,PRINTNUMBER,DRIVERID,CONTRACTORID,ITEMID,
BRUTTO,TARE,NETTO,
DS_ID,
DAT_A,
MILEAGE,
ORGANIZATION,
sum(NETTO)
from WAYBILL
where trunc(DOCDATE) between to_date(:P115_D1,'dd.mm.yyyy')
and to_date(:P115_D2,'dd.mm.yyyy')
and DIRECTIONID = :P115_DIRECTIONID
group by
ID, DOCNUMBER,DOCDATE,PRINTNUMBER,DRIVERID,CONTRACTORID,ITEMID,
BRUTTO,TARE,NETTO,
DS_ID,
DAT_A,
MILEAGE,
ORGANIZATION
解决方案
您似乎想要显示完整的行,每行都有其contractorid、itemid 和organization 的netto sum。您可以使用窗口函数来实现这一点:
select
id, docnumber, docdate, printnumber, driverid, contractorid, itemid,
brutto, tare, netto, ds_id, dat_a, mileage, organization,
sum(netto) over (partition by contractorid, itemid, organization) as netto_sum
from waybill
where trunc(docdate) between to_date(:p115_d1,'dd.mm.yyyy')
and to_date(:p115_d2,'dd.mm.yyyy')
and directionid = :p115_directionid
order by id;
推荐阅读
- keras - 检查输入时出错:预期 conv2d_19_input 有 4 个维度,但得到了形状为 (274, 1) 深度学习的数组
- ruby-on-rails - 托管在 GitHub 上的 Ruby on Rails 项目
- javascript - 如何保存 HTML FORM 数据以供将来使用
- javascript - 使用 sessionStorage 将值存储在数组中
- azure - 如何使用 powershell、Azure CLI 或 Terraform 更新 Azure AD 应用注册中的 Knownclientapplications
- c - 什么是一维字符串数组?
- ruby-on-rails - Mongoid unscoped find 抛出未找到错误
- scala - Scala 地图未更新
- hadoop - 如何在 Hive 3.1 上为 DynamoDB 创建外部表
- javascript - 在家里我得到那个错误:任何导航器都没有处理带有有效负载 {"params":{"company":"Marciello Resto 2"}} 的操作 'SET_PARAMS'