Distinct
and Group By
are going to give you different results. To get the results you expect you’ll want to use
Person.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}
Seen above, group will return things as a hash. While distinct just returns the number of people in total, seen below.
Person.distinct(:name).count (0.4ms) SELECT DISTINCT COUNT(DISTINCT "people"."id") FROM "people" => 6
Related Posts:
- missing FROM-clause entry for table
- Insert text with single quotes in PostgreSQL
- ERROR: there is no unique constraint matching given keys for referenced table “bar”
- Simulate CREATE DATABASE IF NOT EXISTS for PostgreSQL?
- Postgresql tables exists, but getting “relation does not exist” when querying
- postgresql: error duplicate key value violates unique constraint
- pg_ctl: no database directory specified and environment variable PGDATA unset
- Postgres Error: More than one row returned by a subquery used as an expression
- What is the difference between LATERAL JOIN and a subquery in PostgreSQL?
- PostgreSQL create table if not exists
- updating table rows in postgres using subquery
- PostgreSQL visual interface similar to phpMyAdmin?
- Postgresql column reference “id” is ambiguous
- What is a postgres superuser
- What’s the best way to search for a UPC code in a Database?
- MySQL Error: : ‘Access denied for user ‘root’@’localhost’
- What is the difference between “INNER JOIN” and “OUTER JOIN”?
- What is the difference between “INNER JOIN” and “OUTER JOIN”?
- What is the difference between UNION and UNION ALL?
- Selecting COUNT(*) with DISTINCT
- Case in Select Statement
- What is a stored procedure?
- ORA-00904: invalid identifier
- SQL WITH clause example [duplicate]
- Unknown column in ‘field list’ error on MySQL Update query
- Unknown column in ‘field list’ error on MySQL Update query
- SQL Inner-join with 3 tables?
- The wait operation timed out. ASP
- What is SELF JOIN and when would you use it? [duplicate]
- The wait operation timed out. ASP
- Conversion failed when converting date and/or time from character string while inserting datetime
- Self Join to get employee manager name
- How do I UPDATE from a SELECT in SQL Server?
- how to fix oracle ORA-01722 invalid number error
- SQL query to select dates between two dates
- Advanced AREL or just Rails Query for has_many through search by association
- MySQL – Operand should contain 1 column(s)
- SQL SELECT WHERE field contains words
- Conversion failed when converting date and/or time from character string while inserting datetime
- When should I use CROSS APPLY over INNER JOIN?
- MySQL “CREATE TABLE IF NOT EXISTS” -> Error 1050
- Insert Data Into Temp Table with Query
- MySQL Error: : ‘Access denied for user ‘root’@’localhost’
- MySQL create table if not exists and insert record only if table was created
- error, string or binary data would be truncated when trying to insert
- How to create Temp table with SELECT * INTO tempTable FROM CTE Query
- NOT IN vs NOT EXISTS
- SQL SELECT WHERE field contains words
- Online SQL Query Syntax Checker
- How can I do an UPDATE statement with JOIN in SQL Server?
- Must declare the scalar variable
- ORA-00979 not a group by expression
- ORA-00907: missing right parenthesis
- How do I use properly CASE..WHEN in MySQL
- Must declare the scalar variable
- Rename column SQL Server 2008
- Why do we need “Relationships” between tables at all?
- INSERT statement conflicted with the FOREIGN KEY constraint – SQL Server
- Using group by on multiple columns
- Why does Ruby on Rails use http://0.0.0.0:3000 instead of http://localhost:3000?
- Efficiently convert rows to columns in sql server
- How can I do a FULL OUTER JOIN in MySQL?
- Nested select statement in SQL Server
- PostgreSQL “DESCRIBE TABLE”
- INSERT statement conflicted with the FOREIGN KEY constraint – SQL Server
- Using group by on multiple columns
- SQL SELECT WHERE field contains words
- MySQL query String contains
- How do I escape a single quote in SQL Server?
- What’s the difference between VARCHAR and CHAR?
- Case statement in MySQL
- T-SQL split string based on delimiter
- How to declare a variable in MySQL?
- How to implement one-to-one, one-to-many and many-to-many relationships while designing tables?
- Finding duplicate values in a SQL table
- ORA-01843 not a valid month- Comparing Dates
- MySQL Cannot Add Foreign Key Constraint
- Drop a temporary table if it exists
- How do I escape a single quote in SQL Server?
- ORA-00918: column ambiguously defined in SELECT *
- Teradata: how to convert varchar value (format ‘dd.mm.yyyy’) to date (format ‘yyyy-mm-dd’ )?
- How Stuff and ‘For Xml Path’ work in SQL Server?
- IDENTITY_INSERT is set to OFF – How to turn it ON?
- Oracle error : ORA-00905: Missing keyword
- How to split the name string in mysql?
- Rails 5 ActionController::InvalidAuthenticityToken error
- How to reset AUTO_INCREMENT in MySQL
- what does ? ? mean in ruby
- How do I import an SQL file using the command line in MySQL?
- How do you trouble shoot a “Data type mismatch in criteria expression” error in MS Access 2010?
- Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
- mysql Foreign key constraint is incorrectly formed error
- How do I limit the number of rows returned by an Oracle query after ordering?
- Sql Server equivalent of a COUNTIF aggregate function
- Oracle SELECT TOP 10 records
- Getting error: Peer authentication failed for user “postgres”, when trying to get pgsql working with rails
- MySQL: Invalid use of group function
- must appear in the GROUP BY clause or be used in an aggregate function
- Column name or number of supplied values does not match table definition
- Inserting data into a temporary table