Somme incrémentale???
Posté : 13 mai 2008, 16:09
par Jacky
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
Posté : 13 mai 2008, 16:43
par Truc
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]
Posté : 13 mai 2008, 17:19
par caroube
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
Posté : 13 mai 2008, 17:31
par Sékiltoyai
Pas mal…
Ce ne serait pas plus performant avec une jointure ?
Posté : 13 mai 2008, 17:49
par caroube
Ce ne serait pas plus performant avec une jointure ?
Je ne sais pas. Lance un concours

Posté : 14 mai 2008, 17:46
par Jacky
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!