Вы хотите, чтобы PageViews имели максимальное значение create_at для каждого user_id для определенного page_id.Это представление этого запроса в SQL:
SELECT max(created_at) AS last_visit, page_views.*
FROM page_views
WHERE (page_id = 1)
GROUP BY user_id
ORDER BY last_visit DESC
В Rails 3 вы можете написать это так:
Page.first.page_views.group(:user_id).select('max(created_at) AS last_visit, page_views.*').order('last_visit DESC')