Dans mon tableau subscribers
, j'ai des e-mails en double, donc je veux les compter. Je fais cela dans la console Rails:Rails 5: impossible de commander après le groupe et compte
Subscriber.select("email, count(*)").group(:email).order("count (*) desc")
Il en résulte la requête suivante à mon PostgreSQL
db:
SELECT email, count(*) FROM "subscribers" GROUP BY "subscribers"."email" ORDER BY count (*) desc
La chose étrange est, bien que cette requête fonctionne très bien quand Exécuter directement à partir de la base de données, il ne fonctionne pas dans la console Rails, qui renvoie:
#<ActiveRecord::Relation [#<Subscriber id: nil, email: "[email protected]">, #<Subscriber id: nil, email: "[email protected]">, #<Subscriber id: nil, email: "[email protected]">]>
Des idées pourquoi?
Great! L'avez-vous nommé 'counter' au lieu de' count' pour éviter les méthodes réservées? Juste curieux. – bplmp
Je n'ai pas pensé à ça mais c'est sans doute une bonne idée d'éviter de compter :) – Ursus