0
我有一个DataMapper的宋级(通过PostgreSQL的),其具有以下特性:与空自定义排序值
property :rating, Float, :required => false
用户可以率的歌曲。 问题是我希望用户按评分浏览可用歌曲。说我有5首歌曲,其中3先后被评为,这样便东西:
Song.all(:order => [:rating.desc])
会得到我的歌曲顺序如下:{NULL,NULL,10,7,6}或什么的。是否有一种简单的方法可以将这些空值取到排序的底部,以便我的结果看起来像{10,7,6,null,null}。
我试图
Song.all(:rating.not => nil, :order => [rating.desc]) + song.all(:rating => nil)
但这种结合了查询,例如,我的ResultSet是零。
另一种方法当然是默认为-1,但由于一些限制,我宁愿避免这种可能。
你用什么连接数据库? MySQL认为NULL值比其他任何值都小,它显示的顺序类似于“{10,7,6,null,null}”。 – ujifgc
@ujifgc使用Postgres – AlexQueue