Skip to content

Instantly share code, notes, and snippets.

@danielmoralesp
Last active May 18, 2020 18:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danielmoralesp/57f290313485c6ea3e85b6bf67fdd124 to your computer and use it in GitHub Desktop.
Save danielmoralesp/57f290313485c6ea3e85b6bf67fdd124 to your computer and use it in GitHub Desktop.
SQL Project #2

Introducción

Una compañía de video, necesita tu ayuda para analizar los datos de sus usuarios.

Hemos creado una parte de su conjunto de datos en este enlace (descargguelo y explore los datos: https://drive.google.com/file/d/16h8JhQNmV6cOrVsA13yaQG2sbsVHvBsG/view?usp=sharing)

La base de datos contiene 3 tablas:

  • usuarios contiene los detalles básicos de la cuenta de cada usuario
  • pagos contiene los detalles de pago para un período de 3 meses
  • watch_history contiene eventos de visualizacion para los usuarios

Screenshot from 2020-05-18 11-52-08

Resuelve las siguientes preguntas

  1. Use COUNT() y el operador LIKE para determinar el número de usuarios que tienen un correo electrónico que termina en '.com'.

  2. ¿Cuáles son los nombres más populares?

Utilice COUNT(), GROUP BY y ORDER BY para crear una lista de nombres y ocurrencias dentro de la tabla de usuarios.

Ordene los datos de manera que los nombres más populares se muestren primero.

  1. El equipo de investigación de UX quiere ver una distribución de las duraciones en tiempo de "watch". Quieren que el resultado contenga:
  • duration, que es la duración del evento 'watch', redondeada al minuto más cercano
  • count, el número de eventos de 'watch que caen en este "rango"

El resultado debería ser como:

duration	count
1.0	--- 9
2.0	--- 21
3.0	--- 19
  1. Encuentra a todos los usuarios que han realizado con éxito un pago y averigua su cantidad total pagada.

Ordénalos por sus pagos totales (de mayor a menor).

  1. Generar una tabla de identificación de usuarios y la duración total de 'watch' para los usuarios que vieron más de 100 minutos de contenido.

  2. Al minuto más cercano, ¿cuántos minutos de contenido fueron transmitidos en la plataforma?

  3. ¿Qué días de este período la plataforma recaudó más dinero?

Su resultado debe tener dos columnas, pay_date y total amount, ordenadas por esta última de forma descendente.

Esto sólo debe incluir los pagos exitosos (status = 'paid').

  1. Cuando los usuarios pagan con éxito a la plataforma (status = 'paid'), ¿cuál es el importe promedio pagado?

  2. De todos los eventos en la tabla watch_history, ¿cuál es la duración del evento individual más largo? ¿Cuál es la duración del más corto?

Usa una consulta y renombra los resultados a max y min.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment