重複的記錄我有一個模型的Rails找到以最低的價格
模型具有1場
- 號碼價格
- 價格
數量可以相同。 我想要顯示所有Model-1記錄,但是如果有兩個或更多記錄具有相同編號,我希望它只顯示最低價格的記錄。
我將如何在Controller中編寫查詢。 請不要用條件來提示我。
重複的記錄我有一個模型的Rails找到以最低的價格
模型具有1場
數量可以相同。 我想要顯示所有Model-1記錄,但是如果有兩個或更多記錄具有相同編號,我希望它只顯示最低價格的記錄。
我將如何在Controller中編寫查詢。 請不要用條件來提示我。
首先,讓我們在SQL中思考這個問題。那個查詢會是什麼樣子?
如果你想要最低的具體價值,那麼你會創建一個詢問價格,並按數量,然後定價的查詢。
SELECT *
FROM model-1
WHERE number = :number
ORDER BY number ASC, price ASC
LIMIT 1;
這將確保您的條目順序首先由數排序,然後按最低價格(ASC爲升序,所以從1到10)。然後你只能得到你關心的一個元素。
在Rails中,如果您使用的是ActiveRecord,那麼可能如下所示。
model = Model1.find_by(number: 123).order('number ASC, price ASC').limit(1)
Thaks爲您提供幫助。 請參閱我編輯的問題。我希望你能幫助我。 –
我將恢復編輯,因爲這是您的問題的根本性變化,因此使此答案無效。如果您有其他問題,請提出其他問題。 – Makoto
什麼是您的DBMS? –
我正在使用postgresql。 –