Está en la página 1de 2

/*Utilizando la base de datos Cine, resuelva las siguientes consultas:*/

/*1. Mostrar la sala donde se han proyectado más películas.*/

SELECT Sala_Numero, COUNT(*) AS TotalProyecciones


FROM proyecta
GROUP BY Sala_Numero
ORDER BY TotalProyecciones DESC
LIMIT 1;

/*2. Mostrar el actor con menos edad.*/

SELECT *
FROM actor
ORDER BY Edad ASC
LIMIT 1;

/*3. Mostrar el actor con más edad.*/

SELECT *
FROM actor
ORDER BY Edad DESC
LIMIT 1;

/*4. Mostrar la sala con mayor capacidad.*/

SELECT *
FROM sala
ORDER BY capacidad DESC
LIMIT 1;

/*5. Mostrar la cantidad de personas que han visto más película.*/

SELECT COUNT(*) AS CantidadPersonas


FROM (
SELECT DISTINCT idActor
FROM participa
) AS Personas;

/*6. Mostrar la cantidad de personas que han visto más una película.*/

SELECT COUNT(*) AS CantidadPersonas


FROM (
SELECT idActor
FROM participa
GROUP BY idActor
HAVING COUNT(*) > 1
) AS Personas;

/*7. Mostrar la o las películas que han participado más actores.*/

SELECT p.Nombre AS NOMBRE_PELICULA, COUNT(*) AS TotalActores


FROM participa AS par
JOIN pelicula AS p ON par.idPelicula = p.idPelicula
GROUP BY par.idPelicula
HAVING TotalActores = (
SELECT COUNT(*) AS TotalActores
FROM participa
GROUP BY idPelicula
ORDER BY TotalActores DESC
LIMIT 1
);

/*8. Mostrar las películas que se proyectaron en el 2010.*/

SELECT *
FROM pelicula
WHERE YEAR(aniosalida) = 2010;

/*9. Mostrar la película que se proyectó en el 2010 con mayor número de actores.*/

SELECT p.Nombre, COUNT(*) AS TotalActores


FROM participa AS par
JOIN pelicula AS p ON par.idPelicula = p.idPelicula
WHERE YEAR(p.aniosalida) = 2010
GROUP BY p.idPelicula
ORDER BY TotalActores DESC
LIMIT 1;

/*10.Mostrar la película más vista del 2010 al 2012.*/

SELECT p.Nombre AS NOMBRE_PELICULA, COUNT(*) AS TotalVistas


FROM proyecta AS pr
JOIN pelicula AS p ON pr.Pelicula_idPelicula = p.idPelicula
WHERE YEAR(pr.Fecha) BETWEEN 2010 AND 2012
GROUP BY pr.Pelicula_idPelicula
ORDER BY TotalVistas DESC
LIMIT 1;

También podría gustarte