Не сте сигурни какъв точно е проблемът ви или как „не работи“ поради липса на подробности във въпроса ви. Но поне два фактора могат да повлияят на сортирането по такъв начин, че да получите различни резултати в MySQL и PostgreSQL.
Първият е колекция . По-специално ако играете с 9.1 бета. Последно, когато инсталирах MySQL (което беше преди известно време, така че може да са поправили това оттогава), той събираше нещата като latin-1/swedish по подразбиране, срещу utf-8/english за PostgreSQL.
Другото е нули. MySQL винаги поставя тези последни, ако не ме лъже паметта. Обратно, PostgreSQL последователно ги поставя в края на индексите на btree и по този начин ги поставя последни, когато подреждат asc, и първи, когато подреждат desc. Можете да промените това поведение, като подредите с помощта на nulls първи/nulls последни .
Във вашия конкретен случай предполагам, че искате да order by rating desc nulls last
, за разлика от поведението по подразбиране, което първо ще постави нули.