У меня есть данные ниже в базе данных mysql, есть дополнительные поля, такие как рефери, желтые карточки, красные карточки, удар хозяев поля, удары команды гостей, домашние удары в створ ворот, удары гостей в створ ворот.
------------------------------------------------------------------------
|id | hometeam | homegoals | awaygoals | awayteam | results |
------------------------------------------------------------------------
| 1 |Brighton | 3 | 1 | Nott'm Frst| H |
------------------------------------------------------------------------
| 2 |Birmingham | 1 | 3 | Reading | A |
------------------------------------------------------------------------
| 3 |Nott'm frst | 4 | 4 | Brighton | D |
------------------------------------------------------------------------
То, что я хотел бы вывести, это таблица турнирной таблицы со следующими деталями
--------------------------------------------------------------
| Overall | Away | Home |
--------------------------------------------------------------
|pos | team |P|W|D|L|F|A| |W|D|L|F|A| |W|D|L|F|A| |GD|Pts|
--------------------------------------------------------------
| 1 |Brighton |2|1|1|0|7|4| |0|1|0|4|4| |1|0|0|3|1| |-1| 4 |
--------------------------------------------------------------
| 2 |Nott'm fst|2|0|1|1|5|3| |0|0|1|1|3| |0|1|0|4|4| |-1| 1 |
--------------------------------------------------------------
Остальная информация может быть достигнута путем доступа к каждой странице команды. Мой запрос работает нормально для всего раздела, однако другие детали получить трудно.
Запрос как ниже
select
team,
count(*) P,
count(case when fulltimehomegoals > fulltimeawaygoals then 1 end) W,
count(case when fulltimeawaygoals> fulltimehomegoals then 1 end) L,
count(case when fulltimehomegoals = fulltimeawaygoals then 1 end) D,
sum(fulltimehomegoals) F,
sum(fulltimeawaygoals) A,
sum(fulltimehomegoals) - sum(fulltimeawaygoals) GD,
sum(
case when fulltimehomegoals > fulltimeawaygoals then 3 else 0 end
+ case when fulltimehomegoals = fulltimeawaygoals then 1 else 0 end
) Pts
from (
select hometeam team, fulltimehomegoals, fulltimeawaygoals, fulltimeresults from fixtures
union all
select awayteam, fulltimeawaygoals, fulltimehomegoals, fulltimeresults from fixtures
) a
group by team
order by Pts desc, GD desc;
Пожалуйста, дайте направление на разделы, которые нуждаются в редактировании для достижения конечного результата.
Заранее спасибо.
Задача ещё не решена.
Других решений пока нет …