Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 171613
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T13:01:08+00:00 2026-05-11T13:01:08+00:00

ActiveRecord objects of the class ‘Location’ (representing the db-table Locations) have the attributes ‘url’,

  • 0

ActiveRecord objects of the class ‘Location’ (representing the db-table Locations) have the attributes ‘url’, ‘lat’ (latitude) and ‘lng’ (longitude).

Lat-lng-combinations on this model should be unique. The problem is, that there are a lot of Location-objects in the database having duplicate lat-lng-combinations.

I need help in doing the following

  1. Find objects that share the same lat-lng-combination.
  2. If the ‘url’ attribute of the object isn’t empty, keep this object and delete the other duplicates. Otherwise just choose the oldest object (by checking the attribute ‘created_at’) and delete the other duplicates.

As this is a one-time-operation, solutions in SQL (MySQL 5.1 compatible) are welcome too.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T13:01:08+00:00Added an answer on May 11, 2026 at 1:01 pm

    If it’s a one time thing then I’d just do it in Ruby and not worry too much about efficiency. I haven’t tested this thoroughly, check the sorting and such to make sure it’ll do exactly what you want before running this on your db 🙂

    keep = [] locations = Location.find(:all)  locations.each do |loc|   # get all Locations's with the same coords as this one   same_coords = locations.select { |l| l.lat == loc.lat and \                                        l.lng == loc.lng }   with_urls = same_coords.select { |l| !l.url.empty? }    # decide which list to use depending if there were any urls   same_coords = with_urls.any? ? with_urls : same_coords    # pick the best one   keep << same_coords.sort { |a,b| b.created_at <=> a.created_at }.first.id end  # only keep unique ids keep.uniq!  # now we just delete all the rows we didn't decide to keep locations.each do |loc|   loc.destroy unless keep.include?( loc.id ) end 

    Now like I said, this is definitely poor, poor code. But sometimes just hacking out the thing that works is worth the time saved in thinking up something ‘better’, especially if it’s just a one-off.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a tree of active record objects, something like: class Part < ActiveRecord::Base
class Office < ActiveRecord::Base has_many :users searchable do text :name location :coordinates do Sunspot::Util::Coordinates.new(latitude,
I have the following models. # app/models/domain/domain_object.rb class Domain::DomainObject < ActiveRecord::Base has_many :links_from, :class_name
I have a JSON array with ActiveRecord objects. These objects can be reconstructed using
I have a sequence of ActiveRecord objects that I want to cascade destroy but
I have a couple of objects in a Rails app (Ticket, and Comment) class
I have a simple has_many through relationship set up: class Tag < ActiveRecord::Base has_many
I have two connected classes defined like this: [ActiveRecord] public class Store : ActiveRecordBase<Store>
We have a model association that looks something like this: class Example < ActiveRecord::Base
I have the following: class Car < ActiveRecord::Base has_one :driver end class Driver <

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.