Hola de nuevo marcelo:
Mi comentario tampoco fue en mala onda, pero realmente me parece un poco extraña tu pregunta. Las consultas con el IFNULL y sin el
NO SON IGUALES, observa bien el primer registro de la lista.
Sin IFNULL
Código SQL:
Ver originalmysql> SELECT id, total, cuota,
-> (SELECT SUM(total) FROM pagos T2
-> WHERE T2.id < T1.id) calculado
-> FROM pagos T1;
+-----+-------+-------+-----------+
| id | total | cuota | calculado |
+-----+-------+-------+-----------+
| 21 | 50.00 | 1 | NULL |
...
Con el IFNULL
Código MySQL:
Ver originalmysql
> SELECT id
, total
, cuota
, -> WHERE T2.id
< T1.id
), 0) calculado
+-----+-------+-------+-----------+
| id | total | cuota | calculado |
+-----+-------+-------+-----------+
| 21 | 50.00 | 1 | 0.00 |
...
Parece ser que no estás al tanto de para qué funciona la función IFNULL, y es justamente para evitar que aparezcan resultados nulos en la consulta. En este caso, en lugar de
NULL lo reemplaza con un
0.00. Checa esta liga para leer un poco más acerca de esta función.
12.2. Funciones de control de flujo
Saludos
Leo.