2009-05-11 33 views
8

que quiero lograr mediante consulta MySQLSeleccionar Mysql suma conmutativa de cada fila

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

por favor ayuda con códigos de referencia, gracias

+0

¿Quiere decir que quiere que la segunda columna sea un total acumulado de la primera columna? – codeulike

+0

Sí, la segunda columna es la suma de todos los frqs anteriores – Ish

Respuesta

12

Foro MySQL me ayudó !!!

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

Esto funciona bien con mis rutinas mysql.

12

en mi humilde opinión, que debe ser manejada por la lógica del programa, y ​​no SQL. Si aún desea ...:

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

+1 para la combinación con a> = .... a.id> = b.id ... interesante:) – codeulike

+0

¿Qué pasa si tengo un orden por cláusula con eso. Entonces la lógica anterior no funcionará – Ish

+0

Debería estar agrupando BY a.id para obtener los resultados deseados. – duckyflip

Cuestiones relacionadas