Mysql
 sql >> Database >  >> RDS >> Mysql

Rails 3 ActiveRecord:Ordina per conteggio in base all'associazione

Utilizzo di ambito con nome :

class Song
  has_many :listens
  scope :top5,
    select("songs.id, OTHER_ATTRS_YOU_NEED, count(listens.id) AS listens_count").
    joins(:listens).
    group("songs.id").
    order("listens_count DESC").
    limit(5)

Song.top5 # top 5 most listened songs