トップ «前の日記(2006-11-02) 最新 次の日記(2006-11-15)» 編集

活動日誌

2005|02|03|04|05|06|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|03|04|05|06|10|
2008|04|10|

2006-11-09

複数列での group by で count できないものか

PageView.count(:group => 'user_id')

とすると、

[[1, 1], [2, 5], [3, 2]]

のようにグループ化のキーと件数のペアの配列が得られる。

これを複数列でグループ化しようとして

PageView.count(:group => 'page_id, user_id')

としても、キーがひとつだけになってしまってうまくいかない。

とりあえず

PageView.find(:all).map{ |e| [e.page_id, e.user_id] }.inject(Hash.new(0)){ |r, e| r[e] += 1; r }

とした。(find(:all) がかなり気になるが、件数が少ないので)

Tags: Rails
お名前:
E-mail:
コメント:

トップ «前の日記(2006-11-02) 最新 次の日記(2006-11-15)»
Written by Kouhei Yanagita <yanagi at shakenbu.org>