如何遍历数据库表,然后搜索要删除的重复记录

时间:2012-09-15 16:39:59

标签: ruby-on-rails ruby sequel

我有一张存放一些声音的桌子。我试图创建一个循环,它将读取表,然后重新读取表并删除和记录接近重复的。

我的代码是这样的:

Numbersound.where{id != nil}.order(:id).each do |sound|
  Numbersound.where{(id != sound.id) & (sound.wavelength = wavelength)}.each do |duplicate|
    if (duplicate.wavecount != nil)
      #compare wave files and check if the same
      if MatchSound.compare(sound.frames, sound.wavecount, duplicate.frames, duplicate.wavecount, 0.03)
        Numbersound.delete(duplicate.id)
      end
    end
  end

问题是我需要从声音数组中删除已删除的记录,否则总会至少有一个匹配(本身)。

我无法使用SQL进行比较,因为我需要进行一些相当长的计算。

0 个答案:

没有答案