2011-09-26 57 views

回答

2

如何获得排序的NULL取决于底层数据库。

对于PostgreSQL,你可以这样做:

Items.order("owns_cache DESC NULLS LAST") 

对于MySQL和SQLite:

Items.order("COALESCE(owns_cache, 0) DESC") 

我认为MySQL的以降序排序,但这样你可能不需要任何的底部排序的NULL那里特别。这种COALESCE方法也可以在PostgreSQL中工作,所以这将是一个便携式解决方案,应该可以为您提供一致的结果。

如果您希望在ASC排序的底部显示NULL,您可以用0替换大于最大的owns_cache数字的东西。

+0

啊啊,谢谢。我正在使用Postgres。 – Julien

相关问题