MySQL - FIND_IN_SET 、 GROUP_CONCAT 问题

标签 mysql

我为 CS:GO 开发的插件编写的查询出现问题。

我正在使用以下查询:

SELECT FIND_IN_SET(total, (SELECT GROUP_CONCAT(total ORDER BY total DESC) FROM t_cache WHERE total != 0)) AS rank, steamID, total FROM t_cache

如下图所示,它只处理前 129 个人,无法FIND_IN_SET其余分数 != 0 的用户。

Image

我想知道我使用的任何功能是否有限制;以及是否可以修复。

最佳答案

您可以通过以下方式增加函数 GROUP_CONCAT 的最大长度:

Change group_concat_max_len in the /etc/my.cnf

或仅适用于本次 session

SET SESSION group_concat_max_len = 1000000;

或面向所有人的全局

SET GLOBAL group_concat_max_len = 1000000;

关于MySQL - FIND_IN_SET 、 GROUP_CONCAT 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37845996/

相关文章:

php - 在检索 MySQL 表时克服 PHP 内存耗尽或执行时间错误

mysql - 使用jhipster默认设置实体的创建日期和更改日期

mysql - Oracle 到 Mysql %FOUND

MySQL 从子查询更新值

php - 访问数据库 : TOP clause and nested queries + PHP Paging

mysql - 如何使用 SQL SELECT 在单个报告中获取选择器和选择器的名称?

python - IN子句中使用的mysql命名占位符在python中

mysql - 如何在 MySQL 中连接非规范化表?

php - SQL 语法错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法

php - 在 MySQL 表中搜索文本字符串,如果找到则返回 [简单]