2013-03-09 104 views
1

我有表的數據是這樣的:MySQL的領域,將一個字符串

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 
+3

是的,通過['GROUP_CONCAT()'](http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group -concat) – 2013-03-09 15:59:38

回答

0

使用GROUP_CONCAT()

SELECT ID, 
     GROUP_CONCAT(name ORDER BY sort ASC) ConcName 
FROM tableName 
GROUP BY ID 
+0

謝謝你......它一直在拖着我幾個小時...... – user2151863 2013-03-09 16:18:10

+0

不客氣::D'很高興幫助。 – 2013-03-09 16:20:04

0
SELECT `id`, GROUP_CONCAT(`name` ORDER BY `sort`) 
FROM `myTable` 
GROUP BY `Id` 
+0

在這種情況下反引號是不必要的,因爲沒有列或表名是保留關鍵字。 – 2013-03-09 16:02:18

+0

是的,你說得對,但我認爲他們讓查詢更具可讀性。 – MarcinJuraszek 2013-03-09 16:03:07

+0

*「..更具可讀性。」* - 我不這麼認爲。我認爲你的意思是更安全。 ':)' – 2013-03-09 16:03:43