【问题标题】:Aggregate function GROUP_CONCAT in MySQLMySQL 中的聚合函数 GROUP_CONCAT
【发布时间】:2020-12-07 16:48:27
【问题描述】:

我使用 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 函数的最后一个元素没有单引号

如何解决这个问题?

【问题讨论】:

  • 您的问题是什么?这里没有,这让你的帖子很不清楚。
  • @GMB 谢谢不能在这个问题上添加我的查询代码。错误提交的问题。我已添加查询代码图片...提交编辑时出错。
  • 如果您需要的话,您可以随时添加报价,使用CONCAT()
  • @IterLsicIealf 不要发布图片。将您的查询(和结果)发布为 text
  • @RocketHazmat 谢谢我不能在这个问题上添加我的查询代码。错误提交的问题。我已添加查询代码图像。提交编辑时出错。

标签: mysql group-concat


【解决方案1】:

如果您想将每个值用引号括起来,那么您可以使用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;

【讨论】:

    猜你喜欢
    • 2015-10-16
    • 2021-12-31
    • 2013-02-13
    • 1970-01-01
    • 2021-03-05
    • 1970-01-01
    • 2020-06-07
    • 2013-09-02
    相关资源
    最近更新 更多