gpt4 book ai didi

SQL/Django 查看值的条件累加和

转载 作者:行者123 更新时间:2023-12-05 05:50:33 26 4
gpt4 key购买 nike

SQL 和 Django 的新手,如果 B 列(字符串)中的值不同,我正在尝试创建一个查询来累积 A 列(整数)的值。此累积应根据日期(C 列)进行。

数据如下:

Column A Column B Column C 
2.0 Rock 2020-08-08
3.0 Paper 2020-09-08
25.0 Rock 2021-09-09
12.0 Rock 2021-10-10
5.0 Paper 2021-11-11

基于这些数据,我想要第三列 D,它将代表累积值,如下所示:

Column A    Column B Column C    Column D
2.0 Rock 2020-08-08 2.0
3.0 Paper 2020-09-08 5.0
25.0 Rock 2021-09-09 28.0
12.0 Rock 2021-10-10 15.0
5.0 Paper 2021-11-11 17.0

最佳答案

如果您想要一个查询,您可以使用自连接和 FIRST_VALUE() 窗口函数来实现:

SELECT DISTINCT t1.*, 
t1.ColumnA + COALESCE(FIRST_VALUE(t2.ColumnA) OVER (PARTITION BY t1.ColumnC ORDER BY t2.ColumnC DESC), 0) ColumnD
FROM tablename t1 LEFT JOIN tablename t2
ON t2.ColumnC < t1.ColumnC AND t2.ColumnB <> t1.ColumnB
ORDER BY t1.ColumnC;

参见 demo .

关于SQL/Django 查看值的条件累加和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70506089/

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