transact sintaxis sets grouping_id ejemplos and sql ruby-on-rails ruby postgresql activerecord

sintaxis - sql server grouping



GROUP BY y COUNT usando ActiveRecord (1)

Refiriéndose a esto: ¿Hay alguna diferencia entre GROUP BY y DISTINCT?

Given a table that looks like this: name ------ barry dave bill dave dave barry john This query: SELECT name, count(*) AS count FROM table GROUP BY name; Will produce output like this: name count ------------- barry 2 dave 3 bill 1 john 1

¿Cuál es la convención de Rails correcta aquí para que ActiveModel realice un GROUP BY con COUNT?


Distinct y Group By van a dar diferentes resultados. Para obtener los resultados que espera, querrá usar

Person.all.group(:name).count (1.2ms) SELECT COUNT(*) AS count_all, name AS name FROM "people" GROUP BY "people"."name" => {"Dan"=>3, "Dave"=>2, "Vic"=>1}

Visto arriba, el grupo devolverá las cosas como un hash. Mientras que distintas solo devuelve el número de personas en total, como se ve a continuación.

Person.all.distinct(:name).count (0.4ms) SELECT DISTINCT COUNT(DISTINCT "people"."id") FROM "people" => 6