Hola Najum, puedes usar SUM como  WINDOW FUNCTION con un FRAME (RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)

Puedes probar con algo como esto y ajustarlo para tu caso

select *,
sum(ventas_num) over ( order by timestamp  RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)/ nullif(sum(cliente_num) over ( order by timestamp  RANGE BETWEEN UNBOUNDED preceding AND CURRENT ROW),0)
from tu_tabla


Saludos


On 21-04-22 21:14, Nahum Castro wrote:
Saludos a tod@s

Tengo la siguiente estructura
timestamp       correo  ventas_num      cliente_num     porcentaje de respuesta
1       envio_ventas    1       0       
2       envio_ventas    1       0       
3       resp_cliente    0       1       
4       envio_ventas    1       0       
5       resp_cliente    0       1       
6       resp_cliente    0       1       
7       envio_ventas    1       0       


Y tengo un problema para generar la siguiente estructura:
timestamp       correo  ventas_num      cliente_num     
        
        porcentaje de respuesta
1       envio_ventas    0       0       sum(ventas_num)/sum(cliente_num)        
'0/0    null
2       envio_ventas    0       0       sum(ventas_num)/sum(cliente_num)        
'0/0    null
3       resp_cliente    0       1       sum(ventas_num)/sum(cliente_num)        
'0/1    0
4       envio_ventas    1       0       sum(ventas_num)/sum(cliente_num)        
1/1     1
5       resp_cliente    0       1       sum(ventas_num)/sum(cliente_num)        
1/2     0.5
6 resp_cliente 0 1 sum(ventas_num)/sum(cliente_num) ‘1/3 0.333333333333333 7 envio_ventas 1 0 sum(ventas_num)/sum(cliente_num) 2/3 0.666666666666667


Tengo que ir sumando las columnas, solo tomando en cuenta las anteriores y no las totales, trate de hacerlo usando rollup, pero no me funciono. El problema es que inicio a contar hasta que el cliente me responde y no antes, por eso los primeros envíos de ventas se cuentan como cero.

Alguna vez vi hace como ocho años en la lista algo similar, pero no lo encontré :(.

Si me pudieran orientar por dónde entrarle al problema se los agradecería mucho.

Saludos cordiales.
Nahum.


--
*Nahum Castro González*
Blvd. Perdigón 214, Brisas del Lago.
CP 37207
León, Guanajuato, México

Reply via email to