我在SQL中有一个表,其中包含列“NDP”,“Code_PAYS”,“FLUX”,“Year”,“Month_Num”和“valeur_tnd”。我想计算具有相同“NDP”,“Code_PAYS”,“FLUX”和“Year”值的每组行的“valeur_tnd”的累积总和。此外,我希望在每个新的年份将累积总和重置为0,我希望它是按月使用的“月数”列。
我试过使用窗口函数SUM()OVER(PARTITION BY ...),但我在让它正确地工作时遇到了麻烦,因为我需要分组和排序。
谁能帮我用SQL代码来实现我的表中每组行的累计和?按月排序,使用“Month_Num”列?提前感谢您的帮助。
INSERT INTO TABLE_ytd
SELECT * ,
SUM("VALEUR_TND") OVER (PARTITION BY "NDP", "Code_PAYS", "FLUX", "Year"
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS YTD_VALEUR_TND,
FROM "table1" ;
google,chatgpt,many sql quary
1条答案
按热度按时间ruyhziif1#
下面的查询演示了一个
SUM
表达式,它可以实现所描述的结果: