Kết quả SQL là (nhiều) tập hợp và như vậy không có thứ tự, trừ khi bạn xác định rõ ràng một tập hợp. Điều này áp dụng cho các hàng nhóm do GROUP BY
tạo cũng; không có thứ tự trong các nhóm và do đó các tổng hợp nhận giá trị theo bất kỳ thứ tự nào mà truy vấn hiện tại tùy thuộc vào kế hoạch, bố cục vật lý, lập lịch, v.v. xảy ra để tạo ra. Giải pháp là xác định rõ ràng đặt hàng
:
func.group_concat(t.name.op("ORDER BY")(t.name))
Điều này sử dụng hàm toán tử chung để tạo ra cú pháp SQL bắt buộc. SQLAlchemy cung cấp tổng hợp_order_by
trợ giúp cho cùng một cú pháp, nhưng nó chỉ được cung cấp cho phương ngữ Postgresql.