sql >> Databasteknik >  >> RDS >> PostgreSQL

Postgres sorteringsproblem

Osäker på vad ditt problem är exakt eller hur det "inte fungerar", på grund av brist på detaljer i din fråga. Men minst två faktorer kan påverka sorteringen på ett sådant sätt att du får olika resultat i MySQL och PostgreSQL.

Den första är sortering . Särskilt om du spelar med 9.1 beta. Senast jag installerade MySQL (vilket var ett tag sedan, så de kanske har fixat detta sedan), var det att sortera saker som latin-1/svenska som standard, kontra utf-8/engelska för PostgreSQL.

Den andra är null. MySQL placerar alltid dessa sist om minnet fungerar. Däremot placerar PostgreSQL dem konsekvent i slutet av btree-index, och placerar dem därmed sist när man beställer asc och först när man beställer desc. Du kan ändra detta beteende genom att beställa att använda nulls först/nulls sist .

I just ditt fall är min gissning att du vill order by rating desc nulls last , i motsats till standardbeteendet som kommer att placera nollor först.




  1. Postgres pg_try_advisory_lock blockerar alla poster

  2. FEL:raden är för stor:storlek 8168, maxstorlek 8164

  3. couchdb vs mysql hastighet

  4. Ogiltigt parameternummer, PDO vid dubblettuppdatering misslyckas