Я использую следующий код в Perl, чтобы найти дубликаты в моей базе данных SQLite на основе 5 столбцов (от Term1 до Term5).
my $dublette = $dbh->selectall_arrayref("
SELECT t.ID, t.Tag1, t.Tag2, t.Term1, t.Term2, t.Term3, t.Term4, t.Term5
FROM Data t inner join (
SELECT ID, Tag1, Tag2, Term1, Term2, Term3, Term4, Term5, COUNT(*) c FROM Data GROUP BY Term1, Term2, Term3, Term4, Term5 HAVING c > 1)
x on t.Term1=x.Term1 AND t.Term2=x.Term2 AND t.Term3=x.Term3 AND t.Term4=x.Term4 AND t.Term5=x.Term5
Похоже, это работает, за исключением случаев, когда мои неиспользуемые значения равны NULL (но это работает, если они пусты).Любая идея, как я могу изменить его, чтобы получить все дубликаты?