PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

le total cumulé à l'aide de la fonction Windows dans sql a le même résultat pour les mêmes données

Vous voudrez peut-être consulter la documentation sur les spécifications de la fenêtre (qui est ici ). La valeur par défaut est "plage entre" qui définit la plage par les valeurs de la ligne. Vous voulez des "lignes entre":

select grandtotal,
       sum(grandtotal) over (order by agentname rows between unbounded preceding and current row)
from call;

Vous pouvez également inclure un id colonne dans le tri pour garantir l'unicité et ne pas avoir à gérer le problème des valeurs de clé égales.