how to count results in a Calendar view?
Finally, I get it working.
After I turn on View's setting "Show the SQL query", I notice there is an unnecessary GROUP BY field "nid" in the Calendar view, then I unset this field in a hook_query_alter(QueryAlterableInterface $query) as below:

if ($query-&gt;hasTag('views_' . $view_name)) {
    $fields =&amp; $query-&gt;getGroupBy();
    unset($fields['nid']);
}