Páginas a cuestas
- O(n) · Media
- Plan completo
- SQL
- agrupar
- uniones
- decimales
Enunciado
La bibliotecaria quiere saber quién carga más: cuántas páginas se ha llevado a casa cada socio. Un libro que sale dos veces se carga dos veces: si alguien vuelve a llevarse «El faro», sus 210 páginas cuentan de nuevo. Y da igual que el libro ya haya vuelto o siga fuera.
Muestra el socio, cuántos préstamos lleva, cuántas páginas suman y cuántas le tocan por préstamo, en promedio y redondeado a 1 decimal, en ese orden. Primero quien más páginas ha cargado; si dos empatan, por orden alfabético.
Lo que tiene que devolver
Estas filas, en este orden
| socio | veces | total | por_prestamo |
|---|---|---|---|
| Ana | 3 | 810 | 270 |
| Luis | 2 | 490 | 245 |
| Bruno | 1 | 340 | 340 |
| Camila | 1 | 260 | 260 |
| Diego | 1 | 210 | 210 |
Es lo que sale con los datos de la base de práctica del reto. Los nombres de las columnas no cuentan, las tuyas pueden llamarse como quieras: cuenta cuántas son y en qué orden van. Además de esta, el reto tiene pruebas ocultas con otros datos, que se revelan al enviar tu solución.
Empiezas con esto
SQL
SELECT p.socio, l.paginas
FROM prestamos p
JOIN libros l
ON p.libro_id = l.idSe abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.
Más retos de O(n)
- Parejos y disparejosSQL · agrupar · uniones · ordenar
- Pasillo por pasilloSQL · agrupar · condicionales
- Promedios que ya dicen algoSQL · agrupar · uniones
- Sillas para la reuniónSQL · agrupar · uniones · ordenar
- Un 10 de dos créditosSQL · agrupar · uniones · decimales
- ¿De dónde nos piden?SQL · agrupar · uniones · nulos