我使用的MySQL GROUP_CONCAT函数是一个聚合函数,它将组中的字符串连接成单个字符串,并具有用于此返回的各种选项
'31A', '31C', '32B', '32D', '52G'以下是查询:
SELECT
GROUP_CONCAT( DISTINCT CONCAT( '''', xCOD ) ORDER BY xCOD ASC SEPARATOR ''' , ' ) AS x_group
FROM `xtbl`
ORDER BY xCod ASC;这将返回:
'31A', '31C', '32B', '32D', '52G但是在返回时,MySQL GROUP_CONCAT函数的最后一个元素没有单引号
如何解决这个问题?
发布于 2020-12-08 01:00:04
如果你想用引号将每个值括起来,那么你可以使用CONCAT来实现。
SELECT
GROUP_CONCAT(DISTINCT CONCAT("'", xCOD, "'") ORDER BY xCOD ASC SEPARATOR ", ") AS x_group
FROM `xtbl`
ORDER BY xCod ASC;实际上,这里根本不需要CONCAT。你可以这样做:
SELECT
GROUP_CONCAT(DISTINCT "'", xCOD, "'" ORDER BY xCOD ASC SEPARATOR ", ") AS x_group
FROM `xtbl`
ORDER BY xCod ASC;https://stackoverflow.com/questions/65185888
复制相似问题