PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Seltsamer Sortierfehler (ist es ein Fehler?) beim Sortieren von zwei Spalten mit identischen Werten

Dies ist kein Fehler. Das Limit und der Offset erfolgen nach der Bestellung, und es ist nicht deterministisch, welche Zeilen in einem Fall im Vergleich zu einem anderen ausgewählt werden. Im Allgemeinen möchten Sie einen Tiebreaker haben, damit Ihre Bestellung stabil und deterministisch ist (ich bevorzuge eindeutige Tiebreaker, auch wenn ich keine Limit- oder Offset-Probleme habe, um sicherzustellen, dass die Abfrage bei jeder Ausführung gleich ist).

Wenn Sie eine Paginierung durchführen, fügen Sie den Primärschlüssel oder Ersatzschlüssel als Tiebreaker zur Sortierung hinzu. Das ist wirklich der beste Weg.