2009-12-13 50 views
27

SQLite中我可以使用GROUP_CONCAT做:sqlite的GROUP_CONCAT訂購

1...A 
1...B 
1...C 
2...A 
2...B 
2...C 

1...C,B,A 
2...C,B,A 

但串聯的順序是隨機的 - 根據文檔。

我需要GROUP_CONCAT的排序輸出是

1...A,B,C 
2...A,B,C 

我怎樣才能做到這一點?

回答

54

你可以不使用子查詢中的order by子句,然後將這些值串聯起來嗎?

喜歡的東西

SELECT ID, GROUP_CONCAT(Val) 
FROM (
    SELECT ID, Val 
    FROM YourTable 
    ORDER BY ID, Val 
    ) 
GROUP BY ID; 
+0

謝謝,似乎這樣的伎倆! – user230781 2009-12-13 20:56:03

+0

http://stackoverflow.com/questions/9833091/using-order-by-caluse-inside-group-concat-function-in-sqlite – confucius 2012-03-23 01:54:14

+6

請注意,這將** **不適用於MySQL。 (沒有人說過,但我錯誤地認爲是這樣) – 2014-09-02 15:09:18