gpt4 book ai didi

mysql - 当您只有日期(没有时间部分)时按顺序求和列

转载 作者:行者123 更新时间:2023-11-29 10:20:27 24 4
gpt4 key购买 nike

假设您有一个发票表:

ID | Amount | Date
========================
1 | 50 | 2017-12-08
2 | 100 | 2017-12-11
3 | 150 | 2017-12-11
4 | 250 | 2017-12-12

我想对发票 ID:2、日期:2017-12-11 以及其余部分进行求和。因此,2017-12-11 之前的所有发票都将包含在内。

在本例中,SUM 发票 ID = 2 和 1(没有 ID=3)

<小时/>

发票表也可以这样填写:

ID | Amount | Date
========================
1 | 50 | 2017-12-08
2 | 100 | 2017-12-11
3 | 150 | 2017-12-11
4 | 200 | 2017-12-09
5 | 250 | 2017-12-12

查看发票 ID:4。它有向后输入的日期。因此日期列可能未排序。

问题是一样的。我想对发票 ID:2、日期:2017-12-11 以及其余部分进行求和。因此,2017-12-11 之前的所有发票都将包含在内。

在本例中,SUM 发票 ID = 2, 4, 1(没有 ID=3)

最佳答案

对于您的示例,您可以执行以下操作:

select sum(amount)
from invoices i join
invoices i2
on i2.id = 2 and
(i.date < i2.date or
i.date = i2.date and i.id <= i2.id
);

鉴于 ids 缺乏排序,我不确定这是否是通用解决方案。但它应该适用于您提供的数据。

关于mysql - 当您只有日期(没有时间部分)时按顺序求和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49354922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com