Rails: select unique values from a column

后端 未结 13 1872
甜味超标
甜味超标 2020-11-27 09:38

I already have a working solution, but I would really like to know why this doesn\'t work:

ratings = Model.select(:rating).uniq
ratings.each { |r| puts r.rat         


        
13条回答
  •  眼角桃花
    2020-11-27 10:03

    Some answers don't take into account the OP wants a array of values

    Other answers don't work well if your Model has thousands of records

    That said, I think a good answer is:

        Model.uniq.select(:ratings).map(&:ratings)
        => "SELECT DISTINCT ratings FROM `models` " 
    

    Because, first you generate a array of Model (with diminished size because of the select), then you extract the only attribute those selected models have (ratings)

提交回复
热议问题