GROUP BY 语句 (SQL) 的问题

发布于 2024-10-19 02:09:07 字数 950 浏览 3 评论 0原文

我有一个包含以下信息的游戏表:

Id_Game  Id_Player1  Id_Player2  Week
--------------------------------------
1211     Peter       John        2
1215     John        Louis       13
1216     Louis       Peter       17

我想获得每个玩家上周玩过的游戏的列表,以及游戏的数量,应该是这样的:

Id_Player  Week  numberGames
-----------------------------
Peter      17    2
John       13    2
Louis      17    2

但是我得到了这个(关于彼得的通知)周)

Id_Player  Week  numberGames
-----------------------------
Peter      2     2
John       13    2
Louis      17    2

我所做的是:

  SELECT Id_Player, 
         MAX(Week) AS Week, 
         COUNT(*) as numberGames 
    FROM ((SELECT Id_Player1 as Id_Player, Week 
             FROM Games) 
           UNION ALL
           (SELECT Id_Player2 as Id_Player, Week 
              FROM Games)) AS g2 
GROUP BY Id_Player;

有人能帮我找到错误吗?

I have a table GAMES with this information:

Id_Game  Id_Player1  Id_Player2  Week
--------------------------------------
1211     Peter       John        2
1215     John        Louis       13
1216     Louis       Peter       17

I would like to get a list of the last week when each player has played, and the number of games, which should be this:

Id_Player  Week  numberGames
-----------------------------
Peter      17    2
John       13    2
Louis      17    2

But instead I get this one (notice on Peter week):

Id_Player  Week  numberGames
-----------------------------
Peter      2     2
John       13    2
Louis      17    2

What I do is this:

  SELECT Id_Player, 
         MAX(Week) AS Week, 
         COUNT(*) as numberGames 
    FROM ((SELECT Id_Player1 as Id_Player, Week 
             FROM Games) 
           UNION ALL
           (SELECT Id_Player2 as Id_Player, Week 
              FROM Games)) AS g2 
GROUP BY Id_Player;

Could anyone help me to find the mistake?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

老旧海报 2024-10-26 02:09:07

Week 列的数据类型是什么?如果 Week 的数据类型是 varchar,您将得到此行为。

What is the datatype of the Week column? If the datatype of Week is varchar you would get this behavior.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文