Rails 3: .group () commandés par created_at

Qu'est-ce que les Rails à 3 voies à l'ordre .groupe() des résultats de Activerecord (ici par "created_at")?

@messages = Message.group(:foo)

seulement les résultats en affichant le message le plus ancien. J'avais besoin de la dernière à être montré.

J'ai essayé

@messages = Message.group(:foo).having("created_at = MAX(created_at)")

sans succès. Tous les conseils apprécié!

Pour clarifier: je cherche à avoir le groupe a ordonné à l'intérieur de lui-même, pas les messages normaux.commande("...").
Devrait-il pas être facile de Activerecord la syntaxe, je serais heureux avec SQL brut ainsi


Mise à jour: essayer le SQL façon, c'est censé fonctionner:

@messages = Message.find_by_sql("
  SELECT messages.* 
  FROM messages 
  GROUP BY messages.foo 
  HAVING messages.created_at = MAX(messages.created_at) 
  ORDER BY messages.created_at DESC")

Mais cela permet de récupérer uniquement les enregistrements unique (ceux qui ne sont pas groupés). Soi-disant groupés sont omis. Ne sais pas pourquoi, tous les dossiers :created_at et :foo valeurs

source d'informationauteur David