PHP MySQL GROUP_CONCAT 限制

PHP MySQL GROUP_CONCAT Limit

我找不到这是否可行,所以,是否有任何选项可以限制 MySQL 函数中的 GROUP_CONCAT

例如:

GROUP_CONCAT(ColName ORDER BY ColName DESC LIMIT 5)

我不想使用子查询,因为这会严重降低性能。我可以稍后在 PHP 中对数组进行切片,但我想知道或者 MySQL 已经可以选择在 MySQL 中实现这一点。

不,但是你可以这样做:

SUBSTRING_INDEX(GROUP_CONCAT(ColName ORDER BY ColName DESC), ',', 5)

如果中间字符串可能大于 1024 个字符,您可能需要注意组连接的最大长度(请参阅 group_concat_max_len)。您可以更改默认值。