【发布时间】:2014-03-29 00:27:02
【问题描述】:
我正在构建一个游戏,我目前正在研究匹配玩家机制,但我遇到了这个我无法理解的错误。我有 2 个表 games 保存有关游戏不同实例的信息,players 保存每个游戏中的玩家。现在,当新玩家加入匹配队列时,我想选择所有当前尚未开始的游戏并将它们(玩家)添加到相应的游戏中。我如何识别未开始的游戏是根据其中的玩家数量。如果一个游戏是为 2 名玩家设计的,那么任何有 1 名玩家的游戏都还没有开始。这是我的查询
SELECT * // * for saving time in testing
FROM games d LEFT JOIN players dp ON d.id = dp.gameId
WHERE d.players > COUNT(dp.playerId) LIMIT 1
但我得到了这个烦人的错误
1111 - 组函数使用无效
我试过这样
SELECT *, COUNT(dp.playerId) AS cPlayers
FROM games d LEFT JOIN players dp ON d.id = dp.gameId
WHERE d.players > cPlayers LIMIT 1
然后我明白了
1054 - 'where 子句'中的未知列 'cPlayers'
【问题讨论】:
-
为什么坚持恢复格式编辑?
标签: mysql