Show columns not in GROUP BY clause without applying aggregate function on it
<p>I know the question was asked before, but I might have a different case, 
I have this table :</p>

<pre><code>|  PK_DATA  |  EVENT_TYPE  |  DATE   |
-------------------------------------
|  123      |  D           |  12 DEC |
|  123      |  I           |  11 DEC |
|  123      |  U           |  10 DEC |
|  124      |  D           |  11 JAN |
|  124      |  U           |  12 JAN |
|  125      |  I           |  1 JAN  |
-------------------------------------
</code></pre>

<p>I want a query to give <code>max(DATE)</code> grouped by <code>PK_DATE</code> and at the same time give the corresponding <code>EVENT_TYPE</code> .... i.e. : </p>

<pre><code>|  123  |  D  |  12 DEC |
|  124  |  U  |  12 JAN |
|  125  |  I  |  1 JAN  |
</code></pre>

<p>I thought to group by <code>PK_DATA</code> and select <code>max(DATE)</code> but then the <code>EVENT_TYPE</code> wont be displayed until either apply an aggregate function to it or add it to the group clause and neither will do what I want ... any help ?</p>

<p>BY the way I want to avoid any nested query , I know it can be done on two steps , a nested query to group then join again the main table with the query result</p>