PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Намерете редове с множество дублиращи се полета с Active Record, Rails &Postgres

Тествана и работеща версия

User.select(:first,:email).group(:first,:email).having("count(*) > 1")

Освен това това е малко несвързано, но удобно. Ако искате да видите колко пъти е намерена всяка комбинация, поставете .size в края:

User.select(:first,:email).group(:first,:email).having("count(*) > 1").size

и ще получите обратно набор от резултати, който изглежда така:

{[nil, nil]=>512,
 ["Joe", "[email protected]"]=>23,
 ["Jim", "[email protected]"]=>36,
 ["John", "[email protected]"]=>21}

Мислех, че е доста готино и не съм го виждал преди.

Заслуга на Тарин, това е само преработена версия на нейния отговор.



  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?

  2. Добавете месеци към дата в PostgreSQL

  3. Извикване на съхранена процедура в рамките на съхранена процедура

  4. PostgreSQL:Създайте таблица, ако не съществува AS

  5. Как да използвам повторно резултат за клаузите SELECT, WHERE и ORDER BY?