Esta consulta"Ordenar por" resultado del recuento de "grupo por"?
Message.where("message_type = ?", "incoming").group("sender_number").count
me va a devolver un hash.
OrderedHash {"1234"=>21, "2345"=>11, "3456"=>63, "4568"=>100}
Ahora quiero ordenar por recuento de cada grupo. ¿Cómo puedo hacer eso dentro de la consulta?
No funciona para mí no ... –
¿Qué motor de base de datos está utilizando? ¿Qué versión de rieles y cuál es el sql generado? Acabo de obtener un caso de prueba (modelo diferente) que funciona bien en Rails 3.0.7 ... p. Ej. '@test = Price.where ('price is not null'). group (: price_date) .order ('count_price asc'). count ('price')', que genera 'SELECT COUNT (" price "." price ") COMO count_price, price_date AS precio_date FROM" precios "WHERE (precio no es nulo) GROUP BY price_date ORDER BY count_price asc' –
Muchas gracias por esto. ¡Esto me ahorró tanto tiempo de mi consulta en comparación con cómo lo estaba haciendo antes! Lección más importante: ¡aprendí que el método de recuento 'generará una columna de salida con el nombre count_ {columna}'! ¡Gracias! – Yavin4