首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试让SQL给出一个静态合计,而不管日期范围是什么

尝试让SQL给出一个静态合计,而不管日期范围是什么
EN

Stack Overflow用户
提问于 2020-11-18 05:39:36
回答 1查看 22关注 0票数 0

我正在处理的问题是关于发生在where子句之外的付款。

如果我在2020年10月1日和2020年10月20日分别支付了两笔款项,每个付款20美元,我需要看到支付总额为40美元。但是,金额会根据日期筛选器进行更改。

如果我选择10/1-10/20,它将显示支付总额为40,但如果我选择10/15-10/20,它将仅显示20。我有3列,分别名为Bill、total Paid、amount it。支付的总额应该保持停滞。

示例查询

代码语言:javascript
运行
复制
Select b.name as bill, bp.amount as 'amount paid'
from bill b 
left join billpayment bp on b.id=bp.bill_id
where bp.date between Startdate and Enddate

所以这给了我付款,但我希望它添加任何发生在日期范围之外的付款。

EN

Stack Overflow用户

发布于 2020-11-18 05:43:37

如果想要总体合计,请在子查询中使用窗口函数:

代码语言:javascript
运行
复制
select bp.*
from (Select b.name as bill, bp.amount as amount_paid,
             sum(bp.amount) over () as total_amount
      from bill b left join
           billpayment bp
           on b.id = bp.bill_id
     ) bp
where bp.date between Startdate and Enddate
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64883731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档