sqlitegroup-concat

Sqlite group_concat ordering


In Sqlite I can use group_concat to do:

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

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

but the order of the concatenation is random - according to docs.

I need to sort the output of group_concat to be

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

How can I do this?


Solution

  • Can you not use a subselect with the order by clause in, and then group concat the values?

    Something like

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