我有一個Book
型號,它的屬性爲cost
。Rails示波器:成本最高的返回記錄
我想寫一個查詢,獲取具有最高cost
的所有book
記錄。
我需要考慮多於一個book
可能分享的情況,確切的相同最高cost
。在這種情況下,我抓住所有那些共享最高cost
(不只是其中之一)的book
記錄。
示例數據庫建設爲books
表:
id | cost
1 4
2 10
3 7
4 20
5 15
6 20
7 3
,所以我需要寫的範圍將返回 book
記錄:用4
的id
記錄,並與6
的ID記錄。
我認爲答案涉及使用maximum
方法,having
方法和group
方法,但我無法將所有部分放在一起作爲範圍。
這是我嘗試過的一件事,但它不起作用。似乎僅返回具有相對於所有記錄提供最高性價比最高cost
的最後一條記錄:
Book.group(:cost).having('books.cost = ?', (Book.maximum(:cost)))
你見過[這](http://stackoverflow.com/a/32351211/382982)回答? – pdoherty926