在mysql中显示一行中一个ID的单词

时间:2013-05-21 07:42:19

标签: mysql sql

我有一张这样的表:

 ID | word
 ___________

 1  | hello
 1  | goodbye
 1  | goodnight
 2  | What
 2  | Why
 3  | Yes
 3  | No

有没有办法收集具有相同ID的单词并将其显示在一行中,如下所示:

 ID | word
 _______________________________

 1  | hello, goodbye, goodnight
 2  | What, Why
 3  | Yes, No

3 个答案:

答案 0 :(得分:7)

使用GROUP_CONCAT()

SELECT ID, GROUP_CONCAT(word SEPARATOR ', ') word
FROM tableName
GROUP BY ID

输出

╔════╦═══════════════════════════╗
║ ID ║           WORD            ║
╠════╬═══════════════════════════╣
║  1 ║ hello, goodbye, goodnight ║
║  2 ║ What, Why                 ║
║  3 ║ Yes, No                   ║
╚════╩═══════════════════════════╝

答案 1 :(得分:1)

按“ID”分组并使用函数group_concat

答案 2 :(得分:1)

GROUP_CONCAT

select ID, group_concat(word separator ', ') from yourTable group by ID;