我想在CakePHP程序用以下条件进行桌子上的一find('all')查询:cakephp的复杂查找查询示例
1-主键的值等于17
AND
2-表中另一列my_column_id
的值是列my_column_id
的所有值的最大值但小于主键值等于17的数据的值my_column_id
AND
3-表中的另一列my_column_id
的值是该列my_column_id
但比的的主键值的原点my_column_id
值越大的所有值的MIN等于17
所以上面的查询应该给我3个结果。
是否有可能在单个查询中获取所有这些信息?还是我需要三个单独的查询?
我想是这样的:
$results = $this->Model->find('all', array(
'conditions' => array(
'MAX(Model.my_column_id) <' => 23,
'Mddel.id' => 17,
'MIN(Model.my_column_id) >' => 23
)
));
23
代表其主键的原点my_column_id
值等于17
但是,这使我有以下错误:SQL Error: 1111: Invalid use of group function
任何请帮助。
想这已经不工作,我得到一个SQL错误说'SQL错误:1305:函数NAX不存在' – user765368 2013-04-22 03:44:06
@ user765368它应该是'MAX'而不是'NAX' – 2013-04-22 03:45:00
对不起,这个错误实际上是下面的'SQL错误:1111:无效的使用组函数' – user765368 2013-04-22 03:48:08