2013-05-21 38 views
2

我有一個表像這樣:顯示單詞一行在MySQL

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 

回答

7

使用GROUP_CONCAT()

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

OUTPUT

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

非常好的。你非常擅長SQL的東西 – Makky

1

GROUP_CONCAT

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