PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

GRUPUJ WEDŁUG i LICZ za pomocą ActiveRecord

Distinct i Group By dadzą ci różne wyniki. Aby uzyskać oczekiwane wyniki, których będziesz chciał użyć

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} 

Jak widać powyżej, grupa zwróci rzeczy jako hash. Chociaż odrębne zwraca tylko całkowitą liczbę osób, jak pokazano poniżej.

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie o liczbę różnych wartości w kroczącym zakresie dat

  2. tworzenie dostawcy EJB javax.persistence.PersistenceContext.synchronization()Ljavax/persistence/SynchronizationType

  3. Rails Activerecord Relacja:użycie podzapytania jako tabeli dla instrukcji SQL select

  4. Jak wysyłać zapytania do zagnieżdżonych tablic w kolumnie postgres json?

  5. django.db.utils.OperationalError:nie można połączyć się z serwerem:Brak takiego pliku lub katalogu