PHP: 8.1.33 | MySQL: 8.0.34

Evolución de los minutos por gol de Messi vs Cristiano en copas nacionales en 2002

SELECT Periodo, ( SELECT SUM(Minutos1)/SUM(Goles1) FROM ( SELECT Periodo, SUM(Goles1) Goles1, SUM(Goles2) Goles2, SUM(Minutos1) Minutos1, SUM(Minutos2) Minutos2 FROM ( SELECT CASE WHEN idJugador = 1 THEN YEAR(Fecha)-(SELECT YEAR(FechaNacimiento) FROM mc_jugadores WHERE id = 1) + IF(DATE_FORMAT(Fecha,'%m-%d') >= DATE_FORMAT((SELECT FechaNacimiento FROM mc_jugadores WHERE id = 1),'%m-%d'), 0, -1) ELSE YEAR(Fecha)-(SELECT YEAR(FechaNacimiento) FROM mc_jugadores WHERE id = 2) + IF(DATE_FORMAT(Fecha,'%m-%d') >= DATE_FORMAT((SELECT FechaNacimiento FROM mc_jugadores WHERE id = 2),'%m-%d'), 0, -1) END Periodo, CASE WHEN idjugador = 1 THEN GolesJugador ELSE 0 END Goles1, CASE WHEN idJugador = 2 THEN GolesJugador ELSE 0 END Goles2, CASE WHEN idjugador = 1 THEN Minutos ELSE 0 END Minutos1, CASE WHEN idJugador = 2 THEN Minutos ELSE 0 END Minutos2 FROM mc_partidos_new T WHERE idJugador IN (1,2) AND T.Competicion IN ('Carling Cup','Copa de Alemania','Copa de Austria','Copa de Francia','Copa de Italia','Copa de la liga de Francia','Copa de Portugal','Copa del Rey','Coppa Italia','Coupe de France de football','Coupe de la Ligue française de football','EFL Cup','FA Cup','King Cup','Taça de Portugal','US Open Cup','Copa de Noruega') AND YEAR(T.Fecha) = 2002 ) x GROUP BY Periodo ) z WHERE z.Periodo <= y.Periodo ) Dato1, ( SELECT SUM(Minutos2)/SUM(Goles2) FROM ( SELECT Periodo, SUM(Goles1) Goles1, SUM(Goles2) Goles2, SUM(Minutos1) Minutos1, SUM(Minutos2) Minutos2 FROM ( SELECT CASE WHEN idJugador = 1 THEN YEAR(Fecha)-(SELECT YEAR(FechaNacimiento) FROM mc_jugadores WHERE id = 1) + IF(DATE_FORMAT(Fecha,'%m-%d') >= DATE_FORMAT((SELECT FechaNacimiento FROM mc_jugadores WHERE id = 1),'%m-%d'), 0, -1) ELSE YEAR(Fecha)-(SELECT YEAR(FechaNacimiento) FROM mc_jugadores WHERE id = 2) + IF(DATE_FORMAT(Fecha,'%m-%d') >= DATE_FORMAT((SELECT FechaNacimiento FROM mc_jugadores WHERE id = 2),'%m-%d'), 0, -1) END Periodo, CASE WHEN idjugador = 1 THEN GolesJugador ELSE 0 END Goles1, CASE WHEN idJugador = 2 THEN GolesJugador ELSE 0 END Goles2, CASE WHEN idjugador = 1 THEN Minutos ELSE 0 END Minutos1, CASE WHEN idJugador = 2 THEN Minutos ELSE 0 END Minutos2 FROM mc_partidos_new T WHERE idJugador IN (1,2) AND T.Competicion IN ('Carling Cup','Copa de Alemania','Copa de Austria','Copa de Francia','Copa de Italia','Copa de la liga de Francia','Copa de Portugal','Copa del Rey','Coppa Italia','Coupe de France de football','Coupe de la Ligue française de football','EFL Cup','FA Cup','King Cup','Taça de Portugal','US Open Cup','Copa de Noruega') AND YEAR(T.Fecha) = 2002 ) x GROUP BY Periodo ) w WHERE w.Periodo <= y.Periodo ) Dato2 FROM ( SELECT Periodo, SUM(Goles1) Goles1, SUM(Goles2) Goles2, SUM(Minutos1) Minutos1, SUM(Minutos2) Minutos2 FROM ( SELECT CASE WHEN idJugador = 1 THEN YEAR(Fecha)-(SELECT YEAR(FechaNacimiento) FROM mc_jugadores WHERE id = 1) + IF(DATE_FORMAT(Fecha,'%m-%d') >= DATE_FORMAT((SELECT FechaNacimiento FROM mc_jugadores WHERE id = 1),'%m-%d'), 0, -1) ELSE YEAR(Fecha)-(SELECT YEAR(FechaNacimiento) FROM mc_jugadores WHERE id = 2) + IF(DATE_FORMAT(Fecha,'%m-%d') >= DATE_FORMAT((SELECT FechaNacimiento FROM mc_jugadores WHERE id = 2),'%m-%d'), 0, -1) END Periodo, CASE WHEN idjugador = 1 THEN GolesJugador ELSE 0 END Goles1, CASE WHEN idJugador = 2 THEN GolesJugador ELSE 0 END Goles2, CASE WHEN idjugador = 1 THEN Minutos ELSE 0 END Minutos1, CASE WHEN idJugador = 2 THEN Minutos ELSE 0 END Minutos2 FROM mc_partidos_new T WHERE idJugador IN (1,2) AND T.Competicion IN ('Carling Cup','Copa de Alemania','Copa de Austria','Copa de Francia','Copa de Italia','Copa de la liga de Francia','Copa de Portugal','Copa del Rey','Coppa Italia','Coupe de France de football','Coupe de la Ligue française de football','EFL Cup','FA Cup','King Cup','Taça de Portugal','US Open Cup','Copa de Noruega') AND YEAR(T.Fecha) = 2002 ) x GROUP BY Periodo ) y ORDER BY Periodo