SQL - Renovación de un producto

   
Vista:

Renovación de un producto

Publicado por patricia (3 intervenciones) el 07/01/2015 19:32:38
Hola a todos!
Os escribo porque tengo una duda con SQL que se me ha presentado en varias ocasiones. La situación es la siguiente:
Tengo una tabla en la que tenemos: bbuid, start, end, productId y value
Os explico qué son:
bbuid= es como el DNI de cada usuario
start = es la fecha en modo epoch del momento en el que se realiza el pago por un producto. El producto es 1 mes/6 ó 12 de suscripción
end= fecha en la que acaba la suscripción (epoch)
productId = producto por el que se ha pagado
value = dinero pagado por el plan

La pregunta que planteo es la siguiente. Me voy a centrar en el producto de un mes de suscripción porque los demás son similares.

Imaginaros que en septiembre hubo 12000 personas que contrataron un mes de suscripción. Necesito saber cuántas de estas personas renovaron en octubre, en noviembre, en diciembre,...

El problema se vuelve más complicado cuando es posible que gente que contrató un mes de suscripción en septiembre, renueva en octubre por 6 meses.

Necesito obtener en un primer momento cuántos renuevan en cada mes de los que empezaron en septiembre y lo mismo para octubre,...
y en un segundo lugar, cuántos renovaron y qué producto compraron.

Muchísimas gracias de antemano!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias Islas

Renovación de un producto

Publicado por Isaias Islas (690 intervenciones) el 07/01/2015 20:28:13
¿En que motor de base de datos estas trabajando?

Aunque la respuesta seria mas o menos.

Busca la primera suscripción (que es tu base), después buscas todas aquellas que estén después de la primera y tendrás lo que buscas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Renovación de un producto

Publicado por patricia (3 intervenciones) el 07/01/2015 21:15:54
Mi primera intención fue hacerlo mes por mes de la siguiente manera

SELECT FROM_UNIXTIME(start/1000, '%M') AS mes, COUNT(*) FROM Warehouse.purchase
WHERE bbuid IN (SELECT bbuid FROM Warehouse.purchase WHERE FROM_UNIXTIME(MIN(start)/1000, '%M') = 'September' AND productId LIKE "%.onemonth" GROUP BY bbuid)
GROUP BY mes

pero no obtengo ningún resultado.

Estoy un poco perdida porque trabajo directamente en una base de datos via online
SIento no poder dar más información
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

Renovación de un producto

Publicado por Isaias (690 intervenciones) el 07/01/2015 22:30:05
¿Cuál es tu motor de base de datos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Renovación de un producto

Publicado por patricia (3 intervenciones) el 07/01/2015 23:24:20
SQL. Es eso a lo que te refieres?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

Renovación de un producto

Publicado por Isaias (690 intervenciones) el 08/01/2015 20:55:57
¿Oracle, IBM (DB2), MySQL, Informix, SQL Server?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar