在Rails中按天查找最大值

时间:2014-07-01 09:39:35

标签: ruby-on-rails ruby activerecord max

在我的应用程序中,我有一个名为Pdata的模型,其中包含(以及其他)列pdc(整数)和时间戳。 pdc是每5分钟完成一次的测量值。

我的问题是: 获得每天最高pdc的最佳方法是什么?

结果应该是最大pdc值和时间戳(或Pdata.id)的列表。

非常感谢,Andreas

2 个答案:

答案 0 :(得分:2)

您可以使用maximumgroup的组合。您需要提取时间戳的日期部分并对其进行分组。提取日期的语法可能因数据库而异,但请尝试一下:

Pdata.group("DATE(timestamp)").maximum(:pdc)

答案 1 :(得分:0)

试试这个

Pdata.where(timestamp: (Time.now.midnight - 1.day)).order(timestamp: :desc)