Mysql如何压扁结果集

时间:2009-11-18 22:22:55

标签: mysql

我有一个存储过程,它将返回一个id列表。我想将该列表作为逗号分隔的字符串返回,即“1,2,3,4,5”。

我知道我可以使用游标执行此操作,但有更简单的方法将结果集转换为扁平字符串吗?

3 个答案:

答案 0 :(得分:13)

MySQL有group_concat() aggregate function

SELECT group_concat(some_column) FROM mytable;

将返回逗号加入的表中的所有some_column值。

警告:请注意结果受group_concat_max_len系统变量的限制,该变量默认只有1024个字节!为避免触及此墙,您应在运行查询之前执行此操作:

SET SESSION group_concat_max_len = 65536;

或更多,取决于您期望的结果数量。但是此值不能大于max_allowed_packet

答案 1 :(得分:1)

答案 2 :(得分:-2)

你应该在外部代码中进行格式化。