|
|
@ -70,15 +70,16 @@ class Management::SchoolDataGrowService
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
def joins_school_daily_report_sql
|
|
|
|
def joins_school_daily_report_sql
|
|
|
|
SchoolDailyReport.joins('LEFT JOIN school_daily_active_users au ON au.school_daily_report_id = school_daily_reports.id')
|
|
|
|
subquery = 'select COUNT(distinct user_id) from school_daily_active_users sdau where sdau.school_daily_report_id = school_daily_reports.id'
|
|
|
|
|
|
|
|
SchoolDailyReport
|
|
|
|
.select('school_id, '\
|
|
|
|
.select('school_id, '\
|
|
|
|
'SUM(distinct teacher_increase_count) teacher_increase_count,'\
|
|
|
|
'SUM(teacher_increase_count) teacher_increase_count,'\
|
|
|
|
'SUM(distinct student_increase_count) student_increase_count,'\
|
|
|
|
'SUM(student_increase_count) student_increase_count,'\
|
|
|
|
'SUM(distinct course_increase_count) course_increase_count,'\
|
|
|
|
'SUM(course_increase_count) course_increase_count,'\
|
|
|
|
'SUM(distinct shixun_increase_count) shixun_increase_count,'\
|
|
|
|
'SUM(shixun_increase_count) shixun_increase_count,'\
|
|
|
|
'SUM(distinct shixun_homework_count) shixun_homework_count,'\
|
|
|
|
'SUM(shixun_homework_count) shixun_homework_count,'\
|
|
|
|
'SUM(distinct shixun_evaluate_count) shixun_evaluate_count,'\
|
|
|
|
'SUM(shixun_evaluate_count) shixun_evaluate_count,'\
|
|
|
|
'COUNT(distinct au.user_id) uniq_active_user_count,'\
|
|
|
|
"(#{subquery}) uniq_active_user_count,"\
|
|
|
|
'SUM(distinct active_user_count) active_user_count')
|
|
|
|
'SUM(distinct active_user_count) active_user_count')
|
|
|
|
.where(date_condition_sql).group(:school_id).to_sql
|
|
|
|
.where(date_condition_sql).group(:school_id).to_sql
|
|
|
|
end
|
|
|
|
end
|
|
|
|