나는 적절한 이름의 user_data 객체에 사용자 데이터를 보유하고있는 Rails 애플리케이션을 가지고있다. 지난 12 개월 동안 매월 생성 된 총 사용자 수와 활성 상태 인 사용자 수 (status = 'Active')를 보여주는 요약표를 표시하려고합니다. 내 포스트 그레스 데이터베이스에 대해 SQL에서요약 ActiveRecord를 이용한 그룹 별 요약
, 나는 (당신이 측면을 무시할 수 있도록, 내가 응용 프로그램에 의해 계산 거기에 사용하는 날짜) 나는 다음과 같은 쿼리를 원하는 결과를 얻을 수 있습니다 :
SELECT total.creation_month,
total.user_count AS total_count,
active.user_count AS active_count
FROM
(SELECT date_trunc('month',"creationDate") AS creation_month,
COUNT("userId") AS user_count
FROM user_data
WHERE "creationDate" >= to_date('2015 12 21', 'YYYY MM DD')
GROUP BY creation_month) AS total
LEFT JOIN
(SELECT date_trunc('month',"creationDate") AS creation_month,
COUNT("userId") AS user_count
FROM user_data
WHERE "creationDate" >= to_date('2015 12 21', 'YYYY MM DD')
AND status = 'Active'
GROUP BY creation_month) AS active
ON total.creation_month = active.creation_month
ORDER BY creation_month ASC
ActiveRecord와 함께이 쿼리를 작성하려면 어떻게해야합니까?
이전에는 전체 사용자 수가 월별로 그룹화되어 표시되었지만 활성 사용자 수의 추가 열을 추가하는 방법에 어려움을 겪고 있습니다.
내 응용 프로그램은 Ruby 2.1.4 및 Rails 4.1.6을 사용합니다.