gpt4 book ai didi

sql - CakePHP和SQL Server 2008,分组依据不起作用

转载 作者:行者123 更新时间:2023-12-04 18:30:42 24 4
gpt4 key购买 nike

每当我执行以下操作:

$this->Job->find('all', array(
'group' => array('Job.some_field'),
'recursive' => -1
));


我得到了:

SQL Error: Column 'jobs.id' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.


使用MySQL可以正常工作,但是使用SQL Server 2008似乎group by不再起作用。
我该如何解决?在此先感谢SQL专家

最佳答案

查询被翻译成这样的东西:

SELECT  *
FROM Job
GROUP BY
some_field


根据 SQL标准,这不是有效的查询,但是,由于 MySQLMySQL扩展名,它在 GROUP BY中有效。

您只需要在 SELECT子句中保留分组的列或聚合:

SELECT  some_field, COUNT(*)
FROM Job
GROUP BY
some_field


像这样:

$this->Job->find('all', array(
'fields' => array('Job.some_field', 'COUNT(*)'),
'group' => array('Job.some_field'),
'recursive' => -1
));

关于sql - CakePHP和SQL Server 2008,分组依据不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2720358/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com