加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails:按天分组和另一列

发布时间:2020-12-16 23:24:35 所属栏目:百科 来源:网络整理
导读:class Visitor has_many :sessionsendclass Session belongs_to :visitor belongs_to :siteendclass Site has_many :sessionsend 我希望能够每天获得一个网站的访问者数量.由于访问者不是直接与某个网站相关联,而是会话,我需要获取特定网站的所有会话,按天分
class Visitor
  has_many :sessions
end

class Session
  belongs_to :visitor
  belongs_to :site
end

class Site
  has_many :sessions
end

我希望能够每天获得一个网站的访问者数量.由于访问者不是直接与某个网站相关联,而是会话,我需要获取特定网站的所有会话,按天分组,然后按visitor_id分组.这是一些示例数据(按created_at ASC排序):

visitor_id  site_id   created_at
6           3         2011-09-27
6           3         2011-09-27
7           3         2011-09-27
2           3         2011-09-29
7           3         2011-09-29

理想情况下,我应该看到在09/27有2个独特的访客,并在09/29还有2个独特的访客.我试过这个:

Session.group('date(created_at)').group('visitor_id').size

但我得到了这个(这是不正确的):

# => {Tue,27 Sep 2011=>3,Thu,29 Sep 2011=>2}

多谢你们!

解决方法

@counts = Session.group('date(created_at),visitor_id').count

@counts.each do |(date,visitor),count|
  puts "#{visitor.name} visted the site #{count} times on #{date}"
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读