我使用这个查询来查找第二大元素。我正在查询value列。
value
Booking.where("value < ?", Booking.maximum(:value)).last
还有比这更好的查询吗?或者其他替代品。PS -value不是唯一的。可能有两个元素具有相同的值
hof1towb1#
这个应该能用
Booking.select("DISTINCT value").order('value DESC').offset(1).limit(1)
这将生成以下查询:
SELECT DISTINCT value FROM "bookings" ORDER BY value DESC LIMIT 1 OFFSET 1
2vuwiymt2#
可以使用offset和last:
offset
last
Booking.order(:value).offset(1).last
这将产生以下SQL语句:
SELECT `bookings`.* FROM `bookings` ORDER BY `bookings`.`value` DESC LIMIT 1 OFFSET 1
2条答案
按热度按时间hof1towb1#
这个应该能用
这将生成以下查询:
2vuwiymt2#
可以使用
offset
和last
:这将产生以下SQL语句: