Не уверен, в чем конкретно заключается ваша проблема или как она "не работает" из-за отсутствия подробностей в вашем вопросе. Но как минимум два фактора могут повлиять на сортировку таким образом, что вы получите разные результаты в MySQL и PostgreSQL.
Первое - сопоставление . В частности , если вы играете с бета-версией 9.1. В прошлый раз я установил MySQL (который был некоторое время назад, поэтому они могли это исправить с тех пор), он по умолчанию сравнивал латиницу-1 / шведский, против utf-8 / english для PostgreSQL.
Другой является нулем. MySQL всегда размещает эти последние, если память не изменяет. В отличие от этого, PostgreSQL последовательно размещает их в конце индексов btree и, таким образом, ставит их последними при упорядочении asc и первыми при упорядочении desc. Вы можете изменить это поведение, упорядочив, используя null first / nulls last .
В вашем конкретном случае, я предполагаю, что вы хотите order by rating desc nulls last
, в отличие от поведения по умолчанию, которое ставит нулевые значения в первую очередь.