mysql - 表达式 #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
解决方案
推荐阅读
- java - 在多个应用程序中使用相同的密钥库 (Android)
- python - 尝试从熊猫数据框中逗号分隔字符串中的日期列表中查找指定日期之前和之后的最近日期
- python - 不阻塞主线程的异步 HTTP 请求
- c++ - C ++为什么允许分配对抽象类的引用?
- javascript - 计算数组Javascript中未定义的null,空字符串的总数
- javascript - 将“for loop”输出分组为四组
- c++ - 排序数组无法正常工作 C++
- r - 在 R 中,eval 没有在正确的环境中进行评估
- google-sheets - 如何从由两个管道分隔的表数据中提取/导入文本
- python - 尝试在 for 循环中设置列表的每一部分