PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 09/08/2022 04:21:04

Alain V.
Membre

[Résolu] Cumuls de sommes

Bonjour la liste,

Je rencontre une difficulté pour formuler correctement ma recherche sur le web.
Il s'agit de cumuler des coupes de bois annuelles qui alimentent un bûcher.

Ce que j'ai:

DROP TABLE IF EXISTS matable CASCADE;
CREATE TABLE matable
        (
        annee INTEGER UNIQUE NOT NULL,
        m3 NUMERIC(3,1)
        )
;
COPY matable (annee, m3) FROM stdin;
2015    3.6
2016    0.0
2017    2.3
2018    4.5
2019    0.8
2020    9.4
2021    13.4
2022    0.5
\.

Ce que je souhaite obtenir mais que je ne sais pas formuler:

annee |  cumul_m3  
 -----+------
 2015 |  3.6
 2016 |  3.6
 2017 |  5.9
 2018 | 10.4
 2019 | 11.2
 2020 | 20.6
 2021 | 34.0
 2022 | 34.5

Je vous remercie par avance pour m'indiquer quelle instruction je dois utiliser pour afficher ces cumuls annuels.

Dernière modification par Alain V. (09/08/2022 13:14:39)

Hors ligne

#2 09/08/2022 05:23:04

rjuju
Administrateur

Re : [Résolu] Cumuls de sommes

Bonjour,


Les window function sont exactement faites pour ça : https://www.postgresql.org/docs/current … indow.html

Dans votre cas, cumul des valeurs d'années en années, vous pouvez utiliser "sum(m3) OVER (ORDER BY annee)"

Hors ligne

#3 09/08/2022 13:12:16

Alain V.
Membre

Re : [Résolu] Cumuls de sommes

C'est exactement ce que je cherchais. Lors de mes recherches j'avais vu l'existence des window function mais je les avait écartées car ne voyais pas le rapport avec ce que je cherchais.

Merci beaucoup.

Hors ligne

Pied de page des forums