0
我正在创建一个体育网页,我已经达到了我无法解决自己的问题。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 2013-04-29 14:45:01