title: Is it really necessary to have GROUP BY in the SQL standard
body: <p>After writing SQL for a few years, I find it often annoying having to put the columns I am interested in <code>SELECT</code> and then specify them again in <code>GROUP BY</code>. I can't help thinking, why do we have to do that? </p>
  
  <p>What is the reason that user has to be specific about which column to group by? Can't we just let the SQL engine assume <strong>if there is an aggregate function in <code>SELECT</code>, group by the rest non-aggregate columns</strong>?</p>
  
  <p>This will be especially helpful and more concise when you have a large <code>CASE WHEN</code> in <code>SELECT</code>.</p>