2009-12-13 37 views
27

Trong Sqlite tôi có thể sử dụng để làm group_concat:group_concat Sqlite đặt hàng

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

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

nhưng thứ tự của các nối là ngẫu nhiên - theo tài liệu.

tôi cần phải sắp xếp các đầu ra của group_concat là

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

Làm thế nào tôi có thể làm điều này?

Trả lời

54

Bạn không thể sử dụng lựa chọn phụ với thứ tự theo mệnh đề, và sau đó nhóm concat các giá trị?

Something như

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

Cảm ơn bạn, điều đó dường như làm các trick! – user230781

+0

http://stackoverflow.com/questions/9833091/using-order-by-caluse-inside-group-concat-function-in-sqlite – confucius

+6

Lưu ý rằng điều này sẽ ** không ** làm việc với MySQL. (Không ai nói điều đó, nhưng tôi đã nhầm lẫn với giả định đó là trường hợp) –

Các vấn đề liên quan