【发布时间】:2015-12-16 20:24:19
【问题描述】:
我的目标是生成一份报告,显示一周中给定日期和/或一天中某个时间车库的平均占用率(y 轴)。我的数据模型如下:
- 车库
has_many汽车和车库has_many约会,through: :cars - 汽车
has_many约会 - 约会具有以下字段:
- picked_up_at(日期时间)
- returned_at(日期时间)
此外,Garage 有一个字段 capacity (integer),这是车库中可容纳的最大汽车数量。
如果我有一个过去 6 个月的约会列表,我想生成一个折线图,其中 x 轴显示一周中的每一天,细分为 4 小时间隔,而 y-轴显示给定天/小时间隔的 6 个月期间的平均占用率(车库中的汽车数量/容量),我该如何收集这些数据以进行报告?
例如一辆车从一个约会返回到下一个约会的取车时间为In,从约会的取车时间到returned_at时间为Out。
我在将这些数据点连接到有意义地报告并将它们呈现给最终用户的最佳方式时遇到了很多麻烦。
我正在使用 Rails 4.1 和 Ruby 2.0。
编辑:SQL Fiddle - http://sqlfiddle.com/#!9/a72fe/1
【问题讨论】:
-
你的小提琴是为 MySQL 准备的。您需要将其更改为 Postgres 以匹配您的问题:sqlfiddle.com/#!15/77901/1。此外,您忽略了在
returned_at中提及可能的 NULL 值(我还调整了架构以匹配您的列名。) -
那么你有答案了吗?
-
@ErwinBrandstetter - 很抱歉延迟选择答案,我已经出国了,但我会努力实施您的解决方案,一旦我这样做,我将接受答案。再次感谢
标签: sql ruby-on-rails ruby postgresql activerecord