我得到了下面的CakePHP發現情況:CakePHP的:找到忽略DISTINCT
$data = $this->find('all', array(
'conditions' => array(
'Roster.league_id' => $league_id,
'Roster.season' => $season,
),
'fields' => array(
'DISTINCT Roster.player_id',
'Roster.league_id',
'Roster.fflteam_id',
'Roster.season',
'Roster.modified',
'Fflteam.name',
'Player.firstName',
'Player.lastName',
'Player.position'
),
'order' => array(
'Roster.player_id',
'Roster.modified DESC'),
'contain' => array(
'Fflteam',
'Player' => array(
'Stat' => array(
'conditions' => array(
'Stat.season' => $season),
'Scores'),
'Teamplayer')
)
));
還有更多的名冊,記錄與特定的player_ids,這就是爲什麼我嘗試使用DISTINCT。我只需要最近的。這就是爲什麼我通過player_id和Roster.modified來排序結果。但是DISTINCT命令被忽略。
e.g:
記錄:
id=1 player_id=1 modified=2012
id=2 player_id=1 modified=2013
id=3 player_id=1 modified=2014
id=4 player_id=2 modified=2014
id=5 player_id=2 modified=2013
的結果應該是:
id=3 player_id=1 modified=2014
id=4 player_id=2 modified=2014
我看不出有任何語法錯誤。也許有些命令不可能在一起,或者我的過濾方式是錯誤的。如果有人能幫助我,那會很棒。
你期待'DISTINCT'的記錄限制爲僅最近使用什麼 - 在「最近」是最大的名冊數據庫記錄。改性? – AgRizzo 2014-10-04 14:38:10
是的。我認爲截然不同會取得最高紀錄,因此將最大的修改置於頂端。添加了一個示例 – Cheetah 2014-10-04 14:54:38
這不是DISTINCT所做的。如果ID = 3的行不存在,那麼答案是什麼? _(谷歌「MySQL DISTINCT」,以更好地瞭解DISTINCT如何減少結果集中的行)_ – AgRizzo 2014-10-04 15:02:54