Bạn có thể sử dụng distinct.count(:attribute_name)
.
(Trong Rails 3 sử dụng:count(:user_id, distinct: true)
thay vào đó)
Như vậy:
UserVideoWatching.where("created_at >= ? AND user_id != ?", 1.month.ago, User.elephant.id)
.group("DATE(created_at)").reorder('created_at').distinct.count(:user_id)
Không thể kiểm tra nhưng tôi nghĩ điều đó sẽ tạo ra SQL mà bạn đang theo đuổi.