2009-05-11 8 views
8

Je veux obtenir par requête mysqlSélectionnez somme commutative Mysql de chaque ligne

+------+---------+ 
| frq | -any- | 
+------+---------+ 
| 10 |  10 | 
| 15 |10+15=25 | 
| 15 |25+15=40 | 
+------+---------+ 

s'il vous plaît aider avec des références de code, merci

+0

Vous voulez dire que vous voulez que la deuxième colonne soit un total cumulé de la première colonne? – codeulike

+0

Oui la deuxième colonne est la somme de tous les frqs précédents – Ish

Répondre

12

MySQL Forum m'a aidé !!!

mysql> set @my_var=0; 
mysql> select frq, @my_var:[email protected]_var+frq as commutative_sum from `mytable` 

Cela fonctionne bien avec mes routines mysql.

12

mon humble avis, qui doit être manipulé par la logique du programme, et non SQL. Si vous voulez toujours ...:

SELECT a.frq, sum(b.frq) 
    FROM table a 
    JOIN table b ON a.id >= b.id 
GROUP BY a.frq 
+1

+1 pour la jointure avec un> = .... a.id> = b.id ... intéressant:) – codeulike

+0

Que faire si j'ai une commande par clause avec il. Ensuite, au-dessus de la logique ne fonctionnera pas – Ish

+0

Vous devez regrouper BY a.id afin d'obtenir les résultats prévus. – duckyflip

Questions connexes