我有以下疑问:

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中可以这样做吗?

最佳答案

除了GROUP_CONCAT之外,还可以使用字段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:

关于mysql - GROUP BY字符串的复杂串联,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31359925/

10-09 06:08