GROUP BY字符串上的复杂串联

时间:2015-07-11 17:34:24

标签: mysql sql

我有以下查询:

SELECT
    title_imdb_id, person_imdb_id, role_type_id, role_name
FROM
    mturk_imdbcredit
WHERE
    title_imdb_id=1

这给了我:

title_imdb_id   person_imdb_id  role_type_id    role_name
1   1588970 Actor   Herself
1   5690    Director    NULL

我想按title_imdb_id进行分组,并将由:分隔的三个字段和由,分隔的行连接起来。最终结果应该是:

1588970:Actor:Herself, 5690:Director:

这可以在SQL吗?

1 个答案:

答案 0 :(得分:3)

除了GROUP_CONCAT

之外,您还可以使用字段连字
SELECT
    GROUP_CONCAT(
        CONCAT (
          person_imdb_id, ':', role_type_id, ':', IFNULL(role_name, '')
        ) SEPARATOR ', '
    )
FROM
    mturk_imdbcredit
GROUP BY
    title_imdb_id

这给了我:

1588970:Actor:Herself, 5690:Director: