Dans Rails, vous pouvez utiliser:Comment grouper et compter les derniers N résultats?
Model.group (champ) .Count
pour obtenir quelque chose comme:
{ "a" => 7, " b "=> 5, "c"=> 3 "d"=> 3, "e"=> 4}
Mais comment puis-je compter seulement dans le dernières lignes N, pas la table entière, avec le DATABASE faire les calculs?
Ne pas travailler:
Model.limit (100) .group (champ) .Count
limite limitera les clés de sortie de hachage pas les lignes de table utilisées
Model.last (100) .group (champ) .Count
Retourne le dernier un Array et déclenche une erreur
J'utilise: * Ruby 2.3.3p222 * Rails * pg 4.2.4 9.5.6
Cela devrait fonctionner: 'Model.where (id: Model.limit (100) .select (: id)) du groupe. (Champ) .count' – AbM
@AbM Je peux seulement dire: Headshot! S'il vous plaît, utilisez la "réponse" que je peux l'accepter. –