我有一個用戶模型與質量字段在裏面。該字段的數據類型是float。軌活動記錄分組與範圍
現在我想組所有用戶根據質量範圍如下
[65 - 75],[75 - 85], [85 - 95] and [95 - 100]
注:我希望所有用戶提供優質的形式65在一個組75和75- 85中的另一組。
我如何用ActiveRecord實現這一點。
感謝
我有一個用戶模型與質量字段在裏面。該字段的數據類型是float。軌活動記錄分組與範圍
現在我想組所有用戶根據質量範圍如下
[65 - 75],[75 - 85], [85 - 95] and [95 - 100]
注:我希望所有用戶提供優質的形式65在一個組75和75- 85中的另一組。
我如何用ActiveRecord實現這一點。
感謝
那麼你可以使用ActiveRecord
group
和having
功能是這樣的:
Model.select(:quality).group(:quality).having("quality > 65 AND quality < 75")
Model.select(:quality).group(:quality).having("quality > 75 AND quality < 85")
Model.select(:quality).group(:quality).having("quality > 85 AND quality < 95")
Model.select(:quality).group(:quality).having("quality > 95 AND quality < 100")
User.where(:quality => (65..75))
User.where(:quality => (75..85))
User.where(:quality => (85..95))
User.where(:quality => (95..100))
或者,如果你想有一個單一的查詢,你有3種選擇:
使用字符串形式
User.where("(quality >= 65 AND quality <= 75) OR (quality >= 75 AND quality <= 85) OR (quality >= 85 AND quality <= 95) OR (quality >= 95 AND quality <= 100)").group(:quality)
編寫與SQL or子句或
我想要一個查詢,可以將用戶按照上面給出的範圍進行分組。 – Gagan