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) がかなり気になるが、件数が少ないので)