cake焼きました(18)
「find時にDISTINCTじゃなくてGROUP BYで重複を排除したい場合」
まずはSQLでの重複排除した検索は初めてなので、素でSQL文を発行してみる。
SELECT DISTINCT key FROM titles ORDER BY created ASC
っと、ここまで来たところで、DISTINCTではなくGROUP BYを使って重複を除けばいいとのご指摘。
まったくです。。
なので、GROUP BYで特定のカラム重複を排除する場合の方法です。
function getNewItems() { param = array( 'order' => array('created desc'), 'group' => array('key'), 'limit' => 20); return $this->find('all', $param); }
gropuっていうパラメータが用意されてたのですね〜
GROUP BY程度なら超簡単にできてしまいました。
参考:http://f32.aaa.livedoor.jp/~azusa/index.php?t=mysql&p=select#a_distinct
参考:http://www.syuhari.jp/blog/archives/54
参考:http://d.hatena.ne.jp/cakephper/20080920