Somme incrémentale???

Jacky
Invité n'ayant pas de compte PHPfrance

13 mai 2008, 16:09

Bonjour,

Mon souci est le suivant :

J'ai un champ QUANTITE avec comme valeur 2,5,8,1
Je voudrai avec un SELECT... avoir la somme incrémentale de QUANTITE de façon à obtenir :
2, 7, 15, 16

Est-il possible de faire cela en sql???

Merci d'avance

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

13 mai 2008, 16:43

Modération :
Jacky, afin d'obtenir une réponse sur ce forum, il est indispensable de :

- Préciser quel est le SGBD utilisé ainsi que sa Version
- Poster la Structure des Tables utilisées dans la requête sous la forme d'un "CREATE TABLE ..." :!:
(Vous pouvez exporter la structure d'une table via phpMyAdmin. Retirez les colonnes inutiles)
- Indiquer le message d'erreur SQL le cas échéant.

Pensez à utiliser les balises

Code : Tout sélectionner

pour afficher les requêtes SQL, la Structure des Tables et si nécessaire un échantillon des données. Assurez vous également d'avoir suivi ces [url=http://www.phpfrance.com/forums/voir_sujet-19378.php]conseils de débogage[/url]. [/color]

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 422 Messages

13 mai 2008, 17:19

Problème classique de la somme cumulative. Si on ne connaît pas, ce n'est pas facile à trouver.
Soit ta table produit (id, qte)
la requête est

Code : Tout sélectionner

SELECT b.qte, sum(a.qte) AS cum_qte FROM produit a, produit b WHERE a.id <= b.id GROUP BY b.id, b.qte qte cum_qte 2 2 5 7 8 15 1 16

ViPHP
ViPHP | 5924 Messages

13 mai 2008, 17:31

Pas mal…
Ce ne serait pas plus performant avec une jointure ?

Eléphant du PHP | 422 Messages

13 mai 2008, 17:49

Ce ne serait pas plus performant avec une jointure ?
Je ne sais pas. Lance un concours :D

Jacky
Invité n'ayant pas de compte PHPfrance

14 mai 2008, 17:46

Problème classique de la somme cumulative. Si on ne connaît pas, ce n'est pas facile à trouver.
Soit ta table produit (id, qte)
la requête est

Code : Tout sélectionner

SELECT b.qte, sum(a.qte) AS cum_qte FROM produit a, produit b WHERE a.id <= b.id GROUP BY b.id, b.qte qte cum_qte 2 2 5 7 8 15 1 16
Merci beaucoup, ca fonctionne nikel!