我无法找到这样的可能性,是否有任何选项限制MySQL函数中的GROUP_CONCAT
?
E.g:
GROUP_CONCAT(ColName ORDER BY ColName DESC LIMIT 5)
我不想使用子查询,因为这会严重降低性能。我可以稍后在PHP中对数组进行切片,但我想知道还是MySQL已经有了在MySQL中实现这一目的的选项。
答案 0 :(得分:9)
不,但你可以这样做:
SUBSTRING_INDEX(GROUP_CONCAT(ColName ORDER BY ColName DESC), ',', 5)
如果中间字符串可能大于1024个字符,您可能需要注意组连续最大长度(请参阅group_concat_max_len)。您可以更改默认值。