Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 按一列分组,按另一列求和_Mysql_Ruby On Rails_Performance_Rails Activerecord - Fatal编程技术网

Mysql 按一列分组,按另一列求和

Mysql 按一列分组,按另一列求和,mysql,ruby-on-rails,performance,rails-activerecord,Mysql,Ruby On Rails,Performance,Rails Activerecord,尝试编写包含查询的rake任务,该查询将按联接表上的一个值分组,然后对另一列求和。我想用查询界面来做。此任务的目的是查找过去5天中最受欢迎的视频 在相关部分: course_ids = Course.where(school_id: priority_schools).pluck(:id) sections = Section.where(course_id: course_ids) sections.each do |section| users = section.users

尝试编写包含查询的rake任务,该查询将按联接表上的一个值分组,然后对另一列求和。我想用查询界面来做。此任务的目的是查找过去5天中最受欢迎的视频

在相关部分:

 course_ids = Course.where(school_id: priority_schools).pluck(:id)

 sections = Section.where(course_id: course_ids)

 sections.each do |section|
   users = section.users.select {|user| user.time_watched > 0}
   user_ids = []
   users.each { |user| user_ids << user.id }

   user_videos = UserVideo.group(:video_id).
    select(:id, :video_id, :time_watched).
    where("created_at > ?", Date.today - 5.days).
    where(user_id: user_ids).sum(:time_watched)

   p "user_videos: #{user_videos.inspect}"

 end
course\u id=course.where(school\u id:priority\u schools)。pull(:id)
节=节。其中(课程id:课程id)
节。每个do |节|
users=section.users.select{| user | user.time_>0}
用户_id=[]

每个用户{| user | user_id当您在控制台中运行查询时,现在发生了什么?它似乎正在返回视频的键值对id:sum_time_wasted。我想我接下来需要找到每个部分观看的最大时间。请提供
SHOW CREATE TABLE
和您询问的实际
选择的
。RoR可能会混淆。什么当您在控制台中运行查询时,现在发生了什么?它似乎返回视频的键值对\u id:sum\u time\u wasted。我想接下来需要查找每个部分观看的最大时间。请提供
SHOW CREATE TABLE
,并且实际的
选择了您询问的
。RoR可能会比较模糊。