我正在使用 Ruby on Rails 3,我有一个“访问”模型,它存储了 check_in 和 check_out 日期时间,我需要在一般日期范围内搜索访问并计算按所有小时分组的“访问者”数量天。
...即我需要类似的东西:
上午 8:00 - 上午 8:59:12 名访客 上午 9:00 - 上午 9:59:5 名访客 上午 10:00 - 上午 10:59 : 4 位访客
...给定一张包含签入和签出时间的访问表。
这个想法是记录“访问”的签入和签出时间,然后确定在一天中的任何给定时间有多少访问者(假设每次访问记录一个访问者,这是根据政策执行的)在一天中的任何给定时间访问,以便找到高峰访问时间。
我尝试设置查询,例如:
eight_am_visits = Visit.where("EXTRACT(HOUR_MINUTE FROM check_in) <= 859").where("EXTRACT(HOUR_MINUTE FROM check_out) >= 800")
...并且还没有完全成功,因为 Rails 以一种奇怪的方式存储日期(在 UTC 中,它将在数据库查询中转换)并且当我使用 EXTRACT 之类的东西时它似乎没有进行这种转换SQL...
...知道我该怎么做吗?