如何在 Rails 3 中按时间片(总和、平均值、最小值、最大值等)获取聚合数据
如何在 Rails 3 中创建按时间片聚合的活动关系查询?
我想构建查询,对于具有特定名称的计数器的每个样本,每 n 分钟间隔可以返回最小值、最大值、平均值、总和、计数。
create_table "samples"
t.integer "counter_id"
t.string "name"
t.float "value"
t.datetime "created_at"
end
How can I create active relation queries in Rails 3 that are aggregated by time slice?
I'd like to build queries that for every n minute interval can return min, max, avg, sum, count, for every sample of a counter with a particular name.
create_table "samples"
t.integer "counter_id"
t.string "name"
t.float "value"
t.datetime "created_at"
end
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不幸的是我从未使用过 Postgres,所以这个解决方案适用于 MySQL。但我认为你可以找到 Postgres 的类似物。
用途
等
Unfortunately I've never used Postgres, so this solution works in MySQL. But I think you can find out Postgres analogs.
Usage
etc
这应该可以解决问题:
您还可以将平均值交换为最小值、最大值和总和中的任何一个。
This should do the trick:
You can also swap average for any of minimum, maximum and sum.