title: SQL: group by without using aggregate function
body: <p>I have the following SQL query:</p>
  
  <pre><code>select * from my_table
  </code></pre>
  
  <p>then the returned results looks like:</p>
  
  <pre><code>my_id    field_1    field_2   ...
   1         ...       ...
   1         ...       ... 
   1         ...       ...
   2
   3
   3
  </code></pre>
  
  <p>I only want to keep one record per <code>my_id</code>, perhaps taking the record with minimum value in <code>field_2</code></p>
  
  <p>Therefore, I am expecting the following query to fail becauseI haven't put a desired aggregation function after <code>select</code>:</p>
  
  <pre><code>select * from my_table group by my_id order by my_id
  </code></pre>
  
  <p>However, the query went through and returned table have no duplicated <code>my_id</code>. Therefore, I am wondering is there a default method SQL is using if I didn't specify an aggregation function before <code>group by</code>?</p>