PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Dziwny błąd porządkowania (czy to błąd?) przy zamawianiu dwóch kolumn o identycznych wartościach

To nie jest błąd. Limit i przesunięcie występują po złożeniu zamówienia i nie jest deterministyczne, które wiersze zostaną wybrane w jednym przypadku, a które w innym. Ogólnie rzecz biorąc, chcesz mieć rozstrzyganie remisów, aby kolejność była stabilna i deterministyczna (wolę używać unikalnych rozstrzygnięć, nawet jeśli nie mam problemów z limitem lub przesunięciem, aby upewnić się, że zapytanie jest takie samo za każdym razem, gdy jest uruchamiane).

Jeśli robisz paginację, dodaj klucz podstawowy lub klucz zastępczy do sortowania jako rozstrzygający. To naprawdę najlepszy sposób.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2 sposoby zwracania wierszy zawierających tylko znaki alfanumeryczne w PostgreSQL

  2. Dlaczego funkcja postgres trigram word_similarity nie używa indeksu gin?

  3. psycopg2 w rzeczywistości nie wstawia danych

  4. Zend Database Ostatni identyfikator wstawionego wiersza. (Korzystanie z postgresa)

  5. Znajdź wartości, które nie zawierają liczb w PostgreSQL