Я создаю спортивную страницу, и я дошел до такой степени, что не могу решить.Таблица спортивной лиги Mysql
Моя проблема заключается в том, что я не могу понять, как хранить позиции каждой команды отдельно после каждого матча. Вот что я хочу добиться:
Для создания таблицы лиги У меня есть две таблицы:
клубы: id_clubs, имя
результаты: matchid, турам, hometeam, awayteam, homegoals, awaygoals, дата, id_league
Из таблицы результатов я создаю мою таблицу лиги, который устанавливается следующим образом:
SELECT
name AS Team,
Sum(P) AS P,
Sum(W) AS W,
Sum(D) AS D,
Sum(L) AS L,
SUM(F) as F,
SUM(A) AS A,
SUM(GD) AS GD,
SUM(Pts) AS Pts
FROM (
SELECT *,
hometeamid Team,
1 P,
IF(homegoal > awaygoal,1,0) W,
IF(homegoal = awaygoal,1,0) D,
IF(homegoal < awaygoal,1,0) L,
homegoal F,
awaygoal A,
homegoal-awaygoal GD,
CASE WHEN homegoal > awaygoal THEN 3
WHEN hometeam = awaygoal THEN 1
ELSE 0
END PTS
FROM results
WHERE id_league = '$leagueid'
AND homegoal IS NOT NULL
AND awaygoal IS NOT NULL
UNION ALL
SELECT *,
awayteamid,
1,
IF(homegoal < awaygoal,1,0),
IF(homegoal = awaygoal,1,0),
IF(homegoal > awaygoal,1,0),
awaygoal,
homegoal,
awaygoal-homegoal GD,
CASE WHEN homegoal < awaygoal THEN 3
WHEN homegoal = awaygoal THEN 1
ELSE 0
END
FROM results
WHERE id_league = '$leagueid'
AND awaygoal IS NOT NULL
AND homegoal IS NOT NULL
) AS tot
JOIN clubs t ON tot.Team=t.id_clubs
GROUP BY Team
ORDER BY
SUM(Pts) desc,
SUM(GD) desc
Надеюсь, кто-то может дать несколько советов или решение.
Моя цель - получить позицию каждой команды после каждого матча. Это пример для одной команды: Манчестер Сити: Тур 1: 1 тур 2: 3 туре 3: 3 тур 4: 7 и так далее. Моя цель - получить позиции 1,3,3,7, чтобы я мог сделать график, как показано на изображении в моем первом сообщении – EyemansDome