Mam w tabeli pola: user_id, entry_id i parę innych.
Chciałbym pogrupować wszystkie wiersze po (user_id, entry_id) i usunąć duplikaty, nie bardzo wiem jak się za to zabrać. W odpowiedziach na SO każdy kombinuje coś innego.
Będę wdzięczny za podpowiedź.
Na przykładzie:
id, user_id, entry_id
1,1,1
2,1,1
3,1,1
4,5,6
5,5,6
6,7,7
Chciałbym żeby zostały mi w bazie tylko rekordy:
1,1,1
4,5,6
6,7,7
Na razie doszedłem tylko do tego jak wybrać elementy do deduplikacji:
ev = EntryVote.select(‘user_id, entry_id’).group(‘user_id,entry_id’).having(‘count() > 1’)
Tak na chłopski rozum to wydaje mi się, że trzeba zrobić coś w stylu
ev.each do |x|
e = EntryVote.where('user_id = ? and entry_id = ?', x.user_id, x.entry_id)
#jakos usunac wszystkie z e poza pierwszym , da sie to jakos sprawnie w e.each ?
end