所以我有这个简单的查询,如果我在sql server管理工作室运行它,它给我结果 .

Select name, count(*) As thecount from Restaurants group by name

我正在使用codeigniter和一个名为ignited datatable的数据表的包装器库 . 我正在使用它,因为它更容易将sql结果集成到表的一个很好的json格式 . 我遇到的问题是这个库使用的group by函数给了我一个错误..这是我的查询

$this->datatables->select("name, count(*) as thecount");
$this->datatables->from("Restaurants");
$this->datatables->group_by('name');
echo $this->datatables->generate();

我相信这是一个简单的查询它不应该给我任何错误,但当它回声它给我一个数据库错误

Error Number: 42000

[Microsoft][SQL Server Native Client 10.0][SQL Server]Column 'Restaurants.id' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
SELECT * FROM Restaurants GROUP BY name

这个库中的group_by功能有问题,因为如果我在没有组的情况下进行另一个查询,它就可以了 . 这是datatables库中的group_by功能

public function group_by($val)
    {
      $this->group_by[] = $val;
      $this->ci->db->group_by($val);
      return $this;
    }