私はこのクエリを使って2番目に大きい要素を探しています。私はvalue
列の質問をしています。ruby on railsのアクティブレコードクエリで2番目に大きい要素を見つけるより良い方法
Booking.where("value < ?", Booking.maximum(:value)).last
これ以上のクエリはありますか?またはこれに代わるもの。
PS - value
は一意ではありません。次のSQL文を生成します
Booking.order(:value).offset(1).last
::これは動作するはず
SELECT `bookings`.* FROM `bookings`
ORDER BY `bookings`.`value` DESC
LIMIT 1 OFFSET 1
これも動作します: 'Booking.select(" DISTINCT value ")。order(" value DESC OFFSET 1 LIMIT 1 ")' –