Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Obtener a todos los usuarios que han realizado un préstamo en los últimos diez días.
- SELECT DISTINCT
- usuarios.usuario_id,
- CONCAT(usuarios.nombre, ' ', usuarios.apellidos) AS 'nombre completo'
- FROM usuarios
- INNER JOIN libros_usuarios ON usuarios.usuario_id = libros_usuarios.usuario_id
- AND libros_usuarios.fecha_creacion >= CURDATE() - INTERVAL 10 DAY;
- -- Obtener a todos los usuarios que no ha realizado ningún préstamo.
- SELECT DISTINCT
- usuarios.usuario_id,
- CONCAT(usuarios.nombre, ' ', usuarios.apellidos) AS 'nombre completo'
- FROM usuarios
- LEFT JOIN libros_usuarios ON usuarios.usuario_id = libros_usuarios.usuario_id
- WHERE libros_usuarios.libro_id IS NULL;
- -- Listar de forma descendente a los cinco usuarios con más préstamos.
- SELECT
- usuarios.usuario_id,
- CONCAT(usuarios.nombre, ' ', usuarios.apellidos) AS 'nombre completo',
- COUNT(*) AS prestamos
- FROM usuarios
- INNER JOIN libros_usuarios ON usuarios.usuario_id = libros_usuarios.usuario_id
- GROUP BY usuarios.usuario_id
- ORDER BY prestamos DESC LIMIT 5;
- -- Listar 5 títulos con más préstamos en los últimos 30 días.
- SELECT
- libros.libro_id,
- libros.titulo,
- COUNT(*) AS prestamos
- FROM libros
- INNER JOIN libros_usuarios ON libros.libro_id = libros_usuarios.libro_id
- AND libros_usuarios.fecha_creacion >= CURDATE() - INTERVAL 30 DAY
- GROUP BY libros.libro_id
- ORDER BY prestamos DESC LIMIT 5;
- -- Obtener el título de todos los libros que no han sido prestados.
- SELECT DISTINCT
- libros.libro_id,
- libros.titulo
- FROM libros
- LEFT JOIN libros_usuarios ON libros.libro_id = libros_usuarios.libro_id
- WHERE libros_usuarios.usuario_id IS NULL;
- -- Obtener la cantidad de libros prestados el día de hoy.
- SELECT COUNT(*) AS total_prestamos
- FROM libros_usuarios
- WHERE DATE(fecha_creacion) = CURDATE();
- -- Obtener la cantidad de libros prestados por el autor con id 1.
- SELECT COUNT(*) AS total_prestamos
- FROM libros_usuarios
- INNER JOIN libros ON libros_usuarios.libro_id = libros.libro_id AND libros.autor_id = 1;
- -- Obtener el nombre completo de los cinco autores con más préstamos.
- SELECT
- CONCAT(autores.nombre, ' ', autores.apellido) AS 'nombre completo',
- total_autor.total_prestamos AS prestamos
- FROM autores
- INNER JOIN
- (SELECT COUNT(*) AS total_prestamos,
- libros.autor_id
- FROM libros_usuarios
- INNER JOIN libros ON libros_usuarios.libro_id = libros.libro_id
- GROUP BY libros.autor_id) AS total_autor
- ON autores.autor_id = total_autor.autor_id
- ORDER BY prestamos DESC LIMIT 5;
- -- Obtener el título del libro con más préstamos esta semana.
- SELECT libros.titulo,
- COUNT(*) AS prestamos
- FROM libros
- INNER JOIN libros_usuarios ON libros.libro_id = libros_usuarios.libro_id
- AND libros_usuarios.fecha_creacion >= CURDATE() - INTERVAL 7 DAY
- GROUP BY libros.libro_id
- ORDER BY prestamos DESC LIMIT 1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement