Výsledky SQL jsou (multi) sady a jako takové nemají žádné řazení, pokud je výslovně nedefinujete. To platí pro řádky skupiny vytvořené GROUP BY
také; ve skupinách není žádné pořadí, a tak agregáty přijímají hodnoty v jakémkoli pořadí, v jakém aktuální dotaz v závislosti na plánu, fyzickém rozvržení, plánování atd. vytváří. Řešením je explicitně definovat objednávka
:
func.group_concat(t.name.op("ORDER BY")(t.name))
Toto používá obecnou funkci operátora k vytvoření požadované syntaxe SQL. SQLAlchemy poskytuje aggregate_order_by
helper pro stejnou syntaxi, ale je poskytován pouze pro dialekt Postgresql.