PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

GROUP BY dan COUNT menggunakan ActiveRecord

Distinct dan Group By akan memberikan hasil yang berbeda. Untuk mendapatkan hasil yang Anda harapkan, gunakan

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} 

Terlihat di atas, grup akan mengembalikan hal-hal sebagai hash. Sementara berbeda hanya mengembalikan jumlah orang secara total, terlihat di bawah.

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. Postgres Array Tambahkan &Panjang Array untuk 'Array Push'

  2. Versi PostgreSQL mana yang saya jalankan?

  3. Mengubah port server kontainer postgres di Docker Compose

  4. Bagaimana cara saya mewarisi hak istimewa peran?

  5. Dari Now() ke Current_timestamp di Postgresql