【发布时间】:2011-07-26 21:28:47
【问题描述】:
我正在 CakePHP 中构建一个查询,但不能在我的 find('count') 中使用 GROUP BY 语句,因为它会引发错误。因此,我在我的字段列表中使用了 DISTINCT 字段而不是 GROUP BY 语句。
所以,从find('count', array('group' => 'field')) 我现在有了find('count', array('fields' => 'DISTINCT field'))
在应用程序的另一部分,我使用find('all') 来获取与上述相同的记录。在这里,我可以使用GROUP BY 语句,所以我有:
find('all', array('group' => 'field'))
我的问题是:上述两个查询是否返回相同的结果?简而言之,我想确保 DISTINCT field 与 find('count') 组合返回的结果与 GROUP BY field 与 find('all') 组合的结果相同。
【问题讨论】:
-
您可以查看生成的 sql 查询和/或它们返回的数据以确定这一点。
-
这将是一个特殊情况。我想确保这普遍适用。
-
GROUP BY 抛出了什么错误?
-
MySQL 中的语法错误。不记得我改变它以反映我上面问的内容。我只想确保两者返回相同的结果;我相信它不依赖于 CakePHP,而是一般的 MySQL。
标签: mysql cakephp group-by distinct