MySQL - no se como hacer esta query

 
Vista:
sin imagen de perfil
Val: 38
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

no se como hacer esta query

Publicado por jose luis (20 intervenciones) el 09/05/2020 22:54:05
tengo esta tabla y necesito sacar cuantos partidos ha jugado cada equipo (sea equipo 1 o equipo 2)
1 saludo.
Screenshot_1
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

no se como hacer esta query

Publicado por Martha (80 intervenciones) el 10/05/2020 18:21:16
A lo mejor hay (seguro) una forma más profesional, pero este código me ha dado el resultado esperado:

1
2
SELECT COUNT(`registro`) AS `Jugados`
FROM `partidos1` WHERE `id_equipo1` LIKE "%deportivo%" OR `id_equipo2` LIKE "%deportivo%"

Es decir le pido que me cuente los registros (al total le llamo Jugados) dónde aparezca %deportivo% como equipo1 o como equipo2, teniendo en cuenta que el mismo equipo no va a jugar contra sí mismo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 38
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

no se como hacer esta query

Publicado por jose luis (20 intervenciones) el 10/05/2020 22:49:49
claro eso seria solo para un equipo (el deportivo) pero ¿no se podria hacer para todos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

no se como hacer esta query

Publicado por Martha (80 intervenciones) el 11/05/2020 22:31:43
Vuelvo a mi falta de ortodoxia, pero al final he encotrado la solución:

1
2
3
4
5
6
7
8
9
10
SELECT `Equipo`, SUM(`Partidos Jugados`) AS `PARTIDOS TOTALES` FROM
(
    SELECT	id_equipo1 as Equipo, COUNT(`registro`) as `Partidos Jugados` FROM partidos1 group by Equipo
 
    UNION ALL
 
    SELECT id_equipo2 as Equipo, COUNT(`registro`) as `Partidos Jugados` from partidos1 group by Equipo
 )
 
partidos1 GROUP BY Equipo;

Es decir, obtengo el número de partidos jugados como local, el número de partidos como visitante y los sumo.

Evidentemente ningún equipo va a jugar contra sí mismo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 38
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

no se como hacer esta query

Publicado por jose luis (20 intervenciones) el 12/05/2020 20:11:25
genial! ha funcionado, gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 38
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

no se como hacer esta query

Publicado por jose luis (20 intervenciones) el 12/05/2020 21:01:20
basandome en la tuya hice yo esta otra para hallar la suma de goles de cada equipo:
1
2
3
4
5
select `equipo`,sum(`goles`) from
(select id_equipo1 as equipo,resultado_equipo1 as `goles` from partidos group by equipo
union all
select id_equipo2 as equipo,resultado_equipo2 as `goles` from partidos group by equipo
)partidos group by equipo;
pero no me saca los goles de los equipos que se repiten en la misma columna, es decir que si el deportivo aparece dos veces como visitante solo me cuenta los goles del primer partido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 38
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

no se como hacer esta query

Publicado por jose luis (20 intervenciones) el 12/05/2020 21:38:53
vale , ya va, le quite el group by equipo en las dos subconsultas y ya va.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 38
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

no se como hacer esta query

Publicado por jose luis (20 intervenciones) el 14/05/2020 18:52:15
esta otra tampoco me sale es para sacar los partidos ganados por cada equipo, utilice lo siguiente pero no me da bien, a ver si alguien puede echarle un ojo, saludos!
1
2
3
4
5
select `equipo`,count(`equipo`)as partidos_ganados from
(select id_equipo1 as `equipo`,resultado_equipo1,id_equipo2,resultado_equipo2 from partidos where resultado_equipo1>resultado_equipo2
union all
select id_equipo1,resultado_equipo1,id_equipo2 as `equipo`,resultado_equipo2 from partidos where resultado_equipo1<resultado_equipo2
)partidos group by `equipo`;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar