GROUP_CONCAT
MySQL GROUP_CONCAT()
函数将分组中的某列合并成一行
GROUP_CONCAT()
函数的语法:
GROUP_CONCAT([DISTINCT] expression
[ORDER BY expression]
[SEPARATOR sep]);
DISTINCT
子句用于在连接分组之前消除组中的重复值。
ORDER BY
子句允许您在连接之前按升序或降序排序值。 默认情况下,它按升序排序值。 如果要按降序对值进行排序,则需要明确指定 DESC
选项。
SEPARATOR
指定在组中的值之间插入的文字值。如果不指定分隔符,则 GROUP_CONCAT
函数使用英文逗号作为默认分隔符。
GROUP_CONCAT
函数忽略 NULL
值,如果找不到匹配的行,或者所有参数都为 NULL
值,则返回 NULL
。
GROUP_CONCAT
函数返回二进制或非二进制字符串,这取决于参数。 默认情况下,返回字符串的最大长度为 1024
。如果您需要更多的长度,可以通过在 SESSION
或 GLOBAL
级别设置 group_concat_max_len
系统变量来扩展最大长度。
示例
初始语句及结果
列转行sql
SELECT
GROUP_CONCAT( `name` SEPARATOR ';' ) `name`
FROM
e_return_point
WHERE
id IN (1527092956720934914,1527096425364205570)
效果