将不同行中的MySQL字段转换为一个字符串

将不同行中的MySQL字段转换为一个字符串,mysql,sql,Mysql,Sql,我有这样的数据表: Id sort name 1 1 abc 1 2 kci 2 1 asd 2 2 eww 2 3 der 2 4 acu 3 1 awq 3 2 see 3 3 eee 是否可以创建将给我结果的查询 Id ConcName 1 abc,kci 2

我有这样的数据表:

Id   sort     name
1      1       abc
1      2       kci
2      1       asd
2      2       eww
2      3       der
2      4       acu
3      1       awq
3      2       see
3      3       eee
是否可以创建将给我结果的查询

Id     ConcName
1      abc,kci
2      asd,eww,der,acu
3      awq,see,eee
使用
GROUP\u CONCAT()


是的,在这种情况下,通过反勾号是不必要的,因为没有列或表名是保留关键字。是的,你是对的,但我认为它们使查询更可读。“…更可读。”--我不这么认为。我想你是说更安全<代码>:)还有,谁能记住一长串保留字。阅读:您是否100%确定
NAME
SORT
未被保留?我的个人规则是:如果有疑问,放回勾,它们不会受伤。@Hazzit你在跟我说话吗?我百分百的痛心,他们没有。
SELECT  ID, 
        GROUP_CONCAT(name ORDER BY sort ASC) ConcName
FROM    tableName
GROUP   BY ID
SELECT `id`, GROUP_CONCAT(`name` ORDER BY `sort`)
FROM `myTable`
GROUP BY `Id`