【问题标题】:Concatenate Sql column连接 Sql 列
【发布时间】:2016-07-20 04:55:36
【问题描述】:
SELECT DISTINCT a.assessement_group_id,
                b.title as dataa
FROM assessment_group a
JOIN assessment_category b
WHERE a.assessement_group_id = b.group_id

我正在使用join来显示数据。结果如下所示

100     Partner Business Profile
99      Partner Activation
99      ajay test
100     ajaytest123

但我想要这种类型的答案

   100   Partner Business Profile,ajaytest123
   99     Partner Activation,ajay test

【问题讨论】:

标签: mysql sql


【解决方案1】:

您可以使用GROUP_CONCAT(DISTINCT ...)GROUP BY 来获得您想要的输出:

SELECT a.assessement_group_id,
       GROUP_CONCAT(DISTINCT b.title)
FROM assessment_group a
INNER JOIN assessment_category b
    ON a.assessement_group_id = b.group_id
GROUP BY a.assessement_group_id

SQLFiddle

顺便说一句,我用显式INNER JOIN 替换了您的旧式隐式连接语法。现在通常认为将连接条件放入WHERE 子句中是不好的做法。

【讨论】:

    【解决方案2】:

    尝试以下方法,希望对您有所帮助

    select id, group_concat(`dataa` separator ',') as `dataa`
    from
    (
      SELECT distinct a.assessement_group_id id, b.title as dataa 
      from assessment_group a JOIN assessment_category b 
      WHERE a.assessement_group_id=b.group_id
    ) tbl
    group by id;
    

    【讨论】:

      【解决方案3】:

      查看 MySql GROUP_CONCAT() 作为分组查询的一部分。

      http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html

      例如,您可以在查询末尾添加GROUP_BY assessement_group_id

      【讨论】:

        【解决方案4】:

        在 mySql 中你可以使用 GROUP_CONCAT 函数,更多详情请看这里:http://dev.mysql.com/doc/refman/5.6/en/group-by-functions.html#function_group-concat

        在您的初始查询中,您需要在 select 子句中添加 GROUP_CONCAT(b.title) 并在assessement_group_id 之后添加一个分组。

        【讨论】:

          【解决方案5】:

          这个可以帮助你

           SELECT A.ASSESSEMENT_GROUP_ID, GROUP_CONCAT(B.TITLE SEPARATOR ' , ') AS DATAA FROM  ASSESSMENT_GROUP A, ASSESSMENT_CATEGORY B WHERE A.ASSESSEMENT_GROUP_ID=B.GROUP_ID GROUP BY A.ASSESSEMENT_GROUP_ID;
          

          【讨论】:

            猜你喜欢
            • 2011-09-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-11-25
            • 1970-01-01
            • 1970-01-01
            • 2014-10-17
            • 2021-01-29
            相关资源
            最近更新 更多