SQL-resultat är (multi) uppsättningar och har som sådana ingen ordning, såvida du inte uttryckligen definierar en. Detta gäller grupprader producerade av GROUP BY
också; det finns ingen ordning inom grupperna, och därför får aggregat värden i vilken ordning den aktuella frågan beroende på plan, fysisk layout, schemaläggning etc. råkar producera. Lösningen är att explicit definiera beställa
:
func.group_concat(t.name.op("ORDER BY")(t.name))
Detta använder en generisk operatorfunktion för att skapa den nödvändiga SQL-syntaxen. SQLAlchemy tillhandahåller aggregate_order_by
kod>
hjälpare för samma syntax, men den tillhandahålls endast för Postgresql-dialekten.