You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL 8.0如何将查询得到的不同行结果拼接合并到单个列中

MySQL 8.0 多值拼接查询修改方案

你可以使用MySQL原生的GROUP_CONCAT聚合函数实现同组多值合并,修改后的查询语句如下:

SELECT
    clientescertificadosdescripciones.idClienteCertificadoDescripcion, 
    clientescertificadosdescripciones.cantidadClienteCertificadoDescripcion, 
    clientescertificadosdescripciones.tipoResiduoClienteCertificadoDescripcion, 
    clientescertificadosdescripciones.presentacionResiduoClienteCertificadoDescripcion, 
    clientescertificadosdescripciones.tratamientoResiduoClienteCertificadoDescripcion, 
    clientescertificadosdescripciones.idClienteCertificado, 
    -- 拼接同组的分类名称,默认用逗号分隔,可修改SEPARATOR参数自定义分隔符
    GROUP_CONCAT(DISTINCT gruposresiduosclasificacionesanexosiyii.nombreGruposResiduoClasificacionAnexoIyII ORDER BY gruposresiduosclasificacionesanexosiyii.nombreGruposResiduoClasificacionAnexoIyII SEPARATOR ',') AS nombreGruposResiduoClasificacionAnexoIyII
FROM
    clientescertificadosdescripciones
    INNER JOIN clientescertificados
    ON clientescertificadosdescripciones.idClienteCertificado = clientescertificados.idClienteCertificado
    INNER JOIN solicitudesrecolecciones
    ON clientescertificados.idSolicitudRecoleccion = solicitudesrecolecciones.idSolicitudRecoleccion
    INNER JOIN solicitudesrecoleccionesgruposresiduos
    ON solicitudesrecolecciones.idSolicitudRecoleccion = solicitudesrecoleccionesgruposresiduos.idSolicitudRecoleccion
    INNER JOIN gruposresiduos
    ON solicitudesrecoleccionesgruposresiduos.idGrupoResiduo = gruposresiduos.idGrupoResiduo
    INNER JOIN configuracionesgruposresiduos
    ON gruposresiduos.idGrupoResiduo = configuracionesgruposresiduos.idGrupoResiduo
    INNER JOIN configuracionesgruposresiduosclasificacionesanexosiyii
    ON configuracionesgruposresiduos.idConfiguracionGrupoResiduo = configuracionesgruposresiduosclasificacionesanexosiyii.idConfiguracionGrupoResiduo
    INNER JOIN gruposresiduosclasificacionesanexosiyii
    ON configuracionesgruposresiduosclasificacionesanexosiyii.idGruposResiduoClasificacionAnexoIyII = gruposresiduosclasificacionesanexosiyii.idGruposResiduoClasificacionAnexoIyII
WHERE
    clientescertificadosdescripciones.idClienteCertificado = 8
GROUP BY
    -- 按主表主键分组即可唯一确定其余非聚合字段
    clientescertificadosdescripciones.idClienteCertificadoDescripcion
ORDER BY
    clientescertificadosdescripciones.idClienteCertificadoDescripcion ASC

补充说明

  • 代码中DISTINCT可以避免拼接重复的分类名称,不需要的话可以直接删除
  • SEPARATOR ','用来指定拼接的分隔符,你可以根据需求改成顿号、斜杠等其他符号
  • 如果拼接的内容长度超过默认限制(默认1024字节),可以在执行查询前先运行SET SESSION group_concat_max_len = 102400;临时调大长度限制,单位为字节

内容的提问来源于stack exchange,提问作者macsim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 04:24:02