postgresql Rails 4 -通过属性的存在进行排序

efzxgjgh  于 12个月前  发布在  PostgreSQL
关注(0)|答案(2)|浏览(151)

使用Rails 4.Psql DB.
我有一个模型Article与属性amazon_title .我有麻烦理解我如何可以订购我的文章,所以文章与amazon_title是第一,和那些没有是第二.
我试着这样做,但没有成功:

Article.all.order(amazon_title: :desc)

字符串
上面的命令是按顺序排列的,首先显示空白,第二个是现在,第三个是零。

7vux5j2d

7vux5j2d1#

对于PostgreSQL(顺序为truefalsenil):

Article.order('amazon_title DESC NULLS LAST')

字符串
另一个选项(数据库不可知):

Article.order('(CASE WHEN amazon_title THEN 1 WHEN amazon_title IS NULL THEN 2 ELSE 3 END) ASC')

yh2wf1be

yh2wf1be2#

在PostgreSQL中,你可以根据你的需要传递NULLS FIRSTNULLS LAST。这就是为什么我问你关于你的数据库。

Article.order('amazon_title DESC NULLS FIRST')

字符串
以上将首先列出NULL,

Article.order('amazon_title DESC NULLS LAST')


这一个将最后列出NULL记录。
希望能帮上忙!

相关问题