Möglicherweise hängt die Reihenfolge von vielen Faktoren ab, einschließlich des Ausführungsplans der Abfrage, der Konfiguration Ihrer Instanz, der Version der Datenbank, ob Sie Exadata verwenden oder nicht.
Wenn Sie Oracle keine bestimmten Kriterien zum Sortieren der Daten mitteilen, können Sie sich nicht auf eine bestimmte Reihenfolge verlassen, selbst wenn Sie bei Ihren Versuchen die Daten konsistent auf eine bestimmte Weise sortiert zu bekommen scheinen.
Laut Oracle-Dokumentation für listagg:
- Die order_by_clause bestimmt die Reihenfolge, in der die verketteten Werte zurückgegeben werden. Die Funktion ist nur dann deterministisch, wenn die ORDER BY-Spaltenliste eine eindeutige Sortierung erreicht hat.