所以我有这个简单的查询,如果我在sql server management studio上运行它,它会给我结果。
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;
}