Sacar promedio en sql con rasgo de fechas

Experto necesito de una mano suya, resulta que tengo una tabla en sql con los siguientes campos:
Agencia, cue_ahorros, sdo_disponible, cod_ahorro, fec_consig, Val_Cheque, Val_Efectivo y nit
resulta que necesito sacar un reporte donde el usuario digita el rango de fecha para sacar el promedio de una cuenta de ahorros, de manera manual se hace tal cual como esta en la columna de abajo le agradeceria que me colaborara con el query.
Este es un ejemplo para sacar el promedio manualmente donde la fecha es 01/05/2010 hasta 31/05/2010, que es lo que digita el usuario para sacar el promedio de saldos.
Días saldo diario
1 334,886.00
2 334,886.00
3 334,886.00
4 334,886.00
5 334,886.00
6 334,886.00
7 334,886.00
8 334,886.00
9 334,886.00
10 334,886.00
11 334,886.00
12 334,886.00
13 334,886.00
14 344,886.00 este día consigna $10.000
15 344,886.00
16 344,886.00
17 344,886.00
18 344,886.00
19 344,886.00
20 344,886.00
21 344,886.00
22 344,886.00
23 344,886.00
24 344,886.00
25 344,886.00
26 344,886.00
27 344,886.00
28 344,886.00
29 344,886.00
30 344,886.00
          10,226,580.00 => sumatoria de los 30 días
            340,886.00 => total promedio
He realizado el siguiente query pero no se como ingresarle la división de los días es decir si el usuario digita un rango que abarca 3 meses no se como realizar dicha operación para que el sistema saque el calculo de los 3 meses en días y de esta manera saque el promedio:
SELECT SUM(sdo_disponible + Val_Cheque + Val_Efectivo) FROM MOV_AHORROS WHERE Fecha BETWEEN 05/01/2010 AND 05/31/2010  
    AND cue_ahorros = '11111112' AND  Cod_Ahorro = 5
el campo Val_Efectivo es el valor de  la transaccion que realiza x dia en el ejemplo de arriba el dia 14 realiza una consignacion de $10.000 .
No se si me habré hecho entender pero cualquier ayuda le agradecería...

1 Respuesta

Respuesta
1
Si no entiendo mal, sólo te falta sacar el valor medio, que se consigue dividiendo la suma entre el número de días que hay entre ambas fechas. El número de días entre dos fechas se obtiene restándolas, por lo tanto:
SELECT SUM(sdo_disponible + Val_Cheque + Val_Efectivo)/(to_date('05/01/2010', 'mm/dd/yyyy') - to_date('05/31/2010', 'mm/dd/yyyy')) FROM MOV_AHORROS WHERE Fecha BETWEEN 05/01/2010 AND 05/31/2010  
    AND cue_ahorros = '11111112' AND  Cod_Ahorro = 5;

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas