首页 > 解决方案 > 表达式 #3 上的错误代码 1055 - 因为重复的行?

问题描述

我需要帮助解释为什么我在此代码中的表达式 #3 上得到错误代码 1055。我试图弄清楚哪个球员的连续进球数最好(即连续大多数比赛的进球数)。我收到错误是因为同一个玩家可以多次出现吗?People.id 是主键,gamestats.gameid 是唯一的。

[![gamestats 表结构示例][1]][1]

SELECT
    people.id as ID,
    people.person AS PlayerName,
    @count:=IF(a.goal >= b.goal, @count + 1, 1) AS Streak
FROM
    Gamestats a
        LEFT JOIN
    Gamestats b ON a.gameID = b.gameID + 1
        LEFT JOIN
    people ON people.id = a.id
WHERE
    a.goal > 0
GROUP BY ID
ORDER BY Streak DESC
LIMIT 5


  [1]: https://i.stack.imgur.com/S1NNH.png

标签: mysql

解决方案


推荐阅读