CakePHP:find('count')和DISTINCT字段与find('all')和GROUP BY字段

时间:2011-07-26 21:28:47

标签: mysql cakephp group-by distinct

我正在CakePHP中构建一个查询,但不能在GROUP BY中使用find('count')语句,因为它会抛出错误。因此,我在我的字段列表中使用GROUP BY语句而不是DISTINCT字段。

所以,从find('count', array('group' => 'field'))我现在find('count', array('fields' => 'DISTINCT field'))

在应用程序的另一部分中,我使用find('all')来获取与上面相同的记录。在这里,我可以使用GROUP BY语句,所以我有:

find('all', array('group' => 'field'))

我的问题是:上述两个查询都返回相同的结果吗?简而言之,我想确保DISTINCT fieldfind('count')相结合,返回与GROUP BY field结合find('all')相同的结果。

1 个答案:

答案 0 :(得分:10)

一篇旧帖子,但我需要帮助,最终找到了答案,所以就是这样。

如果你这样做,他们将是一样的......

find('count', array('fields' => 'COUNT(DISTINCT field) as count'))