根据某字段进行排序的时候,如果字段内容为空是怎么排的?
Boot.order("position desc "); position 是integer, 默认是null值。
pg数据库这种情况下, position 为nil的会排在前还是在后面?
其实这个问题是来比较 nil 和 数字如1,2,3 中间哪个大的问题。
计算机判断 nil 比 数字大。那么默认 desc排序,就是 nil的item在前面。
这个时候可以根据自己的需求来写SQL语句。
这里可以单独设置nil的放在什么位置:
如果我想从大到小排列, nil的放到最后面。 记住这里是 NULLS, 或者nulls ,是复数形式。
其实这个问题是来比较 nil 和 数字如1,2,3 中间哪个大的问题。
计算机判断 nil 比 数字大。那么默认 desc排序,就是 nil的item在前面。
这个时候可以根据自己的需求来写SQL语句。
这里可以单独设置nil的放在什么位置:
如果我想从大到小排列, nil的放到最后面。 记住这里是 NULLS, 或者nulls ,是复数形式。
Boot.order("position desc NULLS last");
从小到大排列,空的放在最前面。
Boot.order("position asc NULLS first");
阅读量: 644
发布于:
修改于:
发布于:
修改于: