淘先锋技术网

首页 1 2 3 4 5 6 7

MySQL中有一个函数叫GROUP_CONCAT,它可以将查询结果拼接成一个字符串。

SELECT name, GROUP_CONCAT(score ORDER BY score DESC)
FROM students
GROUP BY name

这个查询语句将学生表中同名学生的成绩按降序排列,并用逗号分隔成一个字符串。

在GROUP_CONCAT函数中,第一个参数是要拼接的字段名,第二个参数是用来排序的规则,可以省略。默认情况下,GROUP_CONCAT函数是以逗号作为分隔符的。

SELECT name, GROUP_CONCAT(score SEPARATOR ';')
FROM students
GROUP BY name

如果要使用其他分隔符,可以在函数中使用SEPARATOR参数指定分隔符。

同时,需要注意的是,GROUP_CONCAT函数默认的最大长度是1024,如果超出这个限制,结果会被截断。可以使用以下语句来调整最大长度。

SET SESSION group_concat_max_len = 10000;

这样就可以将最大长度设为10000了。