2013年1月19日土曜日

railsでorder時に特定IDのデータだけ、前に持ってくる方法

例えば、IDが1〜10のデータがある時に、IDの降順にしようとした時には
Model.order("id desc").all
などとするが、時々この中の一部(例えばID:3)は先頭に、それ以外はIDの降順にしたいときなどがある。
そんなときは、
Model.order("'id' = CASE WHEN id = 3 THEN 0 ELSE 'id' END").order("id desc").all
などとすると、できる。

0 件のコメント:

コメントを投稿