/*obtener el jugador mas joven*/
select j.* from jugadores j order by j.fecha_nacimiento desc limit 1;
/*obtener el jugador mas viejo*/
select j.* from jugadores j order by j.fecha_nacimiento asc limit 1;
/* goles que metieron cada uno de los equipos como local*/
select e.id_equipos,e.nombre, sum(p.goles_local) as goles_local from equipos e left join partidos p on p.fk_equipo_local=e.id_equipos group by e.nombre;
/* goles que metieron cada uno de los equipos como visitante*/
select e.id_equipos,e.nombre, sum(p.goles_visitante)
as goles_visitante from equipos e left join partidos p on p.fk_equipo_visitante=e.id_equipos group by e.nombre
/*equipo que metio mas goles como local*/
select e.id_equipos,e.nombre, sum(p.goles_local) as goles_local
from equipos e left join partidos p on p.fk_equipo_local=e.id_equipos
group by e.nombre
order by goles_local desc limit 1;
/*equipo que metio menos goles como local*/
select e.id_equipos,e.nombre, sum(p.goles_local) as goles_local
from equipos e left join partidos p on p.fk_equipo_local=e.id_equipos
group by e.nombre
order by goles_local asc limit 1;
/**promedio de goles como local de cada equipo */
select e.nombre, avg(p.goles_local) as promedio
from equipos e left join partidos p on p.fk_equipo_local = e.id_equipos
group by e.nombre
order by promedio desc;
/* goles que metieron cada uno de los equipos como local y visitante*/
select aaa.name,aaa.goles_local,bbb.goles_visitante
from
(select e.nombre as name, sum(p.goles_local) as goles_local
from equipos e left join partidos p on p.fk_equipo_local=e.id_equipos group by e.nombre) as aaa,
(select e.nombre as name, sum(p.goles_visitante) as goles_visitante
from equipos e left join partidos p on p.fk_equipo_visitante=e.id_equipos group by e.nombre) as bbb
where aaa.name=bbb.name group by aaa.name;
/* goles locales, visitantes y totales (locales + visitantes) de cada equipo*/
select aaa.name,aaa.goles_local,bbb.goles_visitante, sum(aaa.goles_local + bbb.goles_visitante) as total
from
(select e.nombre as name, IFNULL(sum(p.goles_local),0) as goles_local
from equipos e left join partidos p on p.fk_equipo_local=e.id_equipos group by e.nombre order by e.nombre) as aaa,
(select e.nombre as name, IFNULL(sum(p.goles_visitante),0) as goles_visitante
from equipos e left join partidos p on p.fk_equipo_visitante=e.id_equipos group by e.nombre order by e.nombre) as bbb
where aaa.name = bbb.name
group by aaa.name;
nota: se introdujo la funcion IFNULL ya que si la suma de goles_local o goles_visitante da null
(es decir si el equipo no tiene goles como local o como visitante) la suma total no se realiza
/* listar los equipos que hayan metido como local 2 o mas goles en promedio*/
select e.nombre as name, IFNULL(avg(p.goles_local),0) as goles_local
from equipos e left join partidos p on p.fk_equipo_local=e.id_equipos group by e.nombre HAVING goles_local >=2
/* listar el equipo con mayor promedio de goles como local*/
select aaa.nombre, max(bbb.goles_local)
from
(select nombre from equipos) as aaa,
(
select e.nombre as name, avg(p.goles_local) as goles_local
from equipos e left join partidos p on p.fk_equipo_local=e.id_equipos
group by name) as bbb
where aaa.nombre=bbb.name;
/*equipos que hayan jugado de local el 2016*/
select distinct e.nombre
from equipos e, partidos p
where p.fk_equipo_local=e.id_equipos
and p.fecha_partido < '2017-01-01'
and p.fecha_partido >= '2016-01-01'
/* equipo que haya sumado mas goles de local el 2017*/
select aaa.nombre, max(bbb.total_local)
from
(select nombre from equipos) as aaa,
(select a.nombre as nombre , sum(b.goles_local) as total_local
from equipos a, partidos b
where a.id_equipos=b.fk_equipo_local
and b.fecha_partido>='2017-01-01' and b.fecha_partido < '2018-01-01'
group by a.nombre) as bbb
where aaa.nombre=bbb.nombre;
/* partido en el que metieron mas goles*/
select id_partidos, goles_local,goles_visitante, sum(goles_local+goles_visitante) as total
from partidos
group by id_partidos
order by total desc limit 1
/* nombre de los equipos que jugaron cada partido*/
select a.id_partidos, b.nombre, c.nombre
from partidos a, equipos b, equipos c
where
a.fk_equipo_local=b.id_equipos
and a.fk_equipo_visitante = c.id_equipos
order by a.id_partidos
/* partido donde se metieron mas goles de visitante*/
select id_partidos, goles_visitante
from partidos
order by goles_visitante desc limit 1
Suscribirse a:
Enviar comentarios (Atom)
linux ubuntu mint actualizar chrome
desde una terminal: $ sudo apt update $ sudo apt install google-chrome-stable
-
por consola y desde la raiz de tu proyecto php artisan --version
-
en nuestro proyecto creamos una carpeta llamada donde estaran todas nuestras clases, por ejemplo una llamada: MiApp adentro de esta irian b...
-
Integridad al nivel de la base de datos Oracle Oracle valida la integridad de la base de datos y presenta los siguientes mensajes de erro...
No hay comentarios:
Publicar un comentario