Как я уже упоминал здесь , в Rails 4 использование (...).uniq.count(:user_id)
, как упоминалось в других ответах (для этого вопроса и в других местах на SO), фактически приведет к дополнительному DISTINCT
в запросе:
SELECT DISTINCT COUNT(DISTINCT user_id) FROM ...
Что нам действительно нужно сделать, так это самим использовать строку SQL:
(...).count("DISTINCT user_id")
Что дает нам:
SELECT COUNT(DISTINCT user_id) FROM ...