title: select distinct records based on one field while keeping other fields intact
body: <p>I've got a table like this:</p>
  
  <pre><code>      table: searches
  +------------------------------+
  | id  |   address   |   date   |
  +------------------------------+
  | 1   | 123 foo st  | 03/01/13 |
  | 2   | 123 foo st  | 03/02/13 |
  | 3   | 456 foo st  | 03/02/13 |
  | 4   | 567 foo st  | 03/01/13 |
  | 5   | 456 foo st  | 03/01/13 |
  | 6   | 567 foo st  | 03/01/13 |
  +------------------------------+
  </code></pre>
  
  <p>And want a result set like this:</p>
  
  <pre><code>+------------------------------+
  | id  |   address   |   date   |
  +------------------------------+
  | 2   | 123 foo st  | 03/02/13 |
  | 3   | 456 foo st  | 03/02/13 |
  | 4   | 567 foo st  | 03/01/13 |
  +------------------------------+
  </code></pre>
  
  <p>But ActiveRecord seems unable to achieve this result. Here's what I'm trying:</p>
  
  <ul>
  <li>Model has a 'most_recent' scope: <code>scope :most_recent, order('date_searched DESC')</code></li>
  <li><code>Model.most_recent.uniq</code> returns the full set (<code>SELECT DISTINCT "searches".* FROM "searches" ORDER BY date DESC</code>) -- obviously the query is not going to do what I want, but neither is selecting only one column. I need <em>all columns</em>, but only rows where the <code>address</code> is unique in the result set.</li>
  <li>I could do something like <code>Model.select('distinct(address), date, id')</code>, but that feels...wrong.</li>
  </ul>