Bonjour,
j'aimerai faire un cumul dans une colonne de ma requête, mais je me heurte à un message d'erreur à chaque fois que je rajoute la clause 'order by'.
(je reprends un exemple prit sur internet , mais sur oracle, car c'est exactement le genre de chose que je veux
il faudrait donc avoir un résultat comme ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 select isin, dte, volume, sum(volume) over(partition by isin order by dte) volume_cumule from cotation where isin = 'FR0000130007' order by isin, dte
ISIN DTE VOLUME VOLUME_CUMULE
-------------------- -------- ---------- ------------
FR0000130007 02/01/02 4155397 4155397
FR0000130007 03/01/02 9266945 13422342
FR0000130007 04/01/02 10741659 24164001
FR0000130007 07/01/02 8462352 32626353
FR0000130007 08/01/02 11571103 44197456
FR0000130007 09/01/02 9459922 53657378
FR0000130007 10/01/02 9175396 62832774
Je précise que le from contient en fait une sous requête. est-ce que cela joue ? il faut obligatoirement un table ?
dans sql server, si je ne mets pas le order by dans la clause over, j'ai dans la colonne volume_cumulé le même résultat, à savoir le total entier.
je sais que dans sql server, on peut avoir la clause order by, mais je ne vois pas pourquoi cela me renvoi systématiquement un message du style :
merci pour votre aideMsg 102, Level 15, State 1, Line 3
Incorrect syntax near 'order'.
Msg 102, Level 15, State 1, Line 19
Incorrect syntax near 'cotation'.
Partager