Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql体育排行榜_Mysql_Graph_Progress_Storing Data - Fatal编程技术网

Mysql体育排行榜

Mysql体育排行榜,mysql,graph,progress,storing-data,Mysql,Graph,Progress,Storing Data,我正在创建一个体育页面,我已经到了一个我自己无法解决的地步 我的问题是,我不知道如何在每场比赛日后将每支球队的位置分开存储。以下是我想要实现的目标: 对于创建排行榜,我有两个表: 俱乐部:id_俱乐部,名称 结果:比赛id、比赛日、主场队、awayteam、主场进球、awaygoals、日期、id_联赛 从结果表中,我创建了如下设置的排名表: SELECT name AS Team, Sum(P) AS P, Sum(W) AS W, Sum(D) AS D,

我正在创建一个体育页面,我已经到了一个我自己无法解决的地步

我的问题是,我不知道如何在每场比赛日后将每支球队的位置分开存储。以下是我想要实现的目标:

对于创建排行榜,我有两个表:

俱乐部:id_俱乐部,名称 结果:比赛id、比赛日、主场队、awayteam、主场进球、awaygoals、日期、id_联赛

从结果表中,我创建了如下设置的排名表:

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

希望有人能提供一些建议或解决方案

如果您对从结果表中检索订单号有疑问,下面是一个类似的讨论,这可能正是您所需要的:


要选择前n场比赛,您可以在按比赛id分组后限制n。

我的目标是在每个比赛日后获得每个队的位置。这是一个球队的例子:曼城:比赛日1:1:1比赛日2:3比赛日3:3比赛日4:7等等。我的目标是得到位置1,3,3,7,这样我就可以制作一个图,如我第一篇文章中的图片所示