2011-07-26 142 views
3

我在CakePHP中構建查詢,但不能在我的find('count')中使用GROUP BY語句,因爲它會引發錯誤。因此,我在字段列表中使用了GROUP BY聲明而不是DISTINCT字段。CakePHP:find('count')和DISTINCT字段與find('all')和GROUP BY字段

所以,從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')相同的結果。

+0

你可以看看生成的SQL查詢,和/或數據他們返回來確定。 –

+0

這將是一個特殊情況。我想確保這一般適用。 – linkyndy

+0

GROUP BY拋出什麼錯誤? – deceze

回答

10

舊的帖子,但我需要幫助,最終找到答案,所以在這裏。

他們將是相同的,如果你這樣做......

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