mysql - MySQL 查询中的 GROUP BY 子句仅在某些情况下会导致我的连接崩溃

标签 mysql sql group-by

我有 2 个表,其中一个包含 BLOB。

psh table
................................
ID
playerID
stateID
sceneID


ps table
..................................
ID
playerID
playerState

我需要得到的是按 sceneID(来自 psh 表)分组的 ps 表中的 ID 计数。 所以我要加入 2 个表并分组。 问题是在此特定查询中,group by 子句使数据库崩溃,我收到错误 2013:查询期间丢失连接。

如果我尝试使用 group by 的其他查询,它会工作得很好。

这是我的查询,请帮忙:

select count(ps.ID) from innodb.player_spin as ps
JOIN innodb.player_state_history as psh  ON
psh.playerId = ps.playerId
WHERE psh.sceneId IN (9, 19, 29, 30)
group by psh.sceneId;

最佳答案

GROUP BY 来自表 psh。应该是驱动表和非group by table连接:

select count(ps.ID) 
FROM player_state_history as psh
JOIN player_spin as ps ON
  psh.playerId = ps.playerId
WHERE psh.sceneId IN (9, 19, 29, 30)
GROUP BY psh.sceneId

如果在 psh.sceneId 上正确建立索引,这应该会大大加快速度

关于mysql - MySQL 查询中的 GROUP BY 子句仅在某些情况下会导致我的连接崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46114765/

相关文章:

mysql - 为一个巨大的表返回所有组合的输出的最简单方法

php - 设置 var mysql 并启动事务

sql - 选择值等于给定值或更低且最接近给定值的行

sql - 外键 - 它们对我有什么作用?

mysql - 对行进行分组但保留值不为空

sql - 如何查找组的行数?

php - 如何使用 MySQL Group by 选择多条记录?

mysql - IF 在 SWITCH CASE 语句中

mysql - 即使它具有一对一关系,也可以拆分一个表的数据吗?

php - 如果字段值=预设值,如何使用 PHP 打印 MySQL 表中的记录