目前,我正在尝试按limit
属性订购我的课程。我希望值按升序排列,但所有nil
值都是最后的。
我尝试了几个不同的查询ActiveRecord查询以及跨基本SQL查询(它需要SQL灵活)。我试了几个:
self.order('ISNULL(limit), limit ASC')
self.order('CASE WHEN -limit DESC')
self.order('limit IS NULL, limit DESC')
但我一直在limit
附近遇到错误,我错过了什么吗?
SQLite3::SQLException: near "ISNULL": syntax error: SELECT "table".*
FROM "table" WHERE "table"."deleted_at" IS NULL ORDER BY ISNULL(limit),
limit ASC
答案 0 :(得分:1)
对于任何好奇的人,我使用了self.order("-cutoff DESC")
。它很简单,可以完成工作。
答案 1 :(得分:0)
limit IS NULL
会这样做,但limit
是sqlite3中的保留关键字,因此请将其括在反引号或引号中:
self.order('`limit` IS NULL')