title: Oracle SQL to delete duplicate records based on columns
body: <p>I have a table with records:</p>
  
  <pre><code>DATE           NAME    AGE    ADDRESS
  01/13/2014     abc     27     us
  01/29/2014     abc     27     ma            &lt;- duplicate
  02/03/2014     abc     27     ny            &lt;- duplicate
  02/03/2014     def     28     ca
  </code></pre>
  
  <p>I want to delete the record number 2 and 3 since they are duplicates for record 1 based on name and age.  DATE column is a timestamp based from the record when it was added (sql date) and considered unique. </p>
  
  <p>I found this sql but not sure if it will work and a bit concerned as the table has 2 million records and delting the wrong ones will be a bad idea:</p>
  
  <pre><code>SELECT A.DATE, A.NAME, A.AGE
    FROM table A
   WHERE EXISTS (SELECT B.DATE
               FROM table B
              WHERE B.NAME = A.NAME
            AND B.AGE = A.AGE);
  </code></pre>
  
  <p>There are many instance of this records so if someone can help me write a sql to delete this records?</p>