How to make view to group by only one field?
I had the same problem.
Try to implement the group by in hook_views_pre_execute, it's work for me.

function MYMODULE_views_pre_execute(&amp;$view){
  if ($view-&gt;name == 'YOUR_VIEWS' &amp;&amp;  $view-&gt;current_display == 'SOME_DISPLAY') {   
    $view-&gt;build_info['query']-&gt;groupBy('node.nid');
  }
}


If you are using a pager, updating $view->build_info['count_query'] with the same changes should keep the pager consistent with the query results.