我正在使用PostgreSQL数据库工作Rails应用程序。 我有表命名上传,有这样的记录
ID media_count created_at
1 10 01-01-2017
2 12 02-01-2017
3 20 03-01-2017
4 25 04-01-2017
我需要找出任何连续行中media_count的最大差异
与上述情况类似,这些行的差异 8
ID media_count created_at
2 12 02-01-2017
3 20 03-01-2017
我不知道如何进行此类查询。
答案 0 :(得分:1)
您可以尝试以下操作:
Upload.all.each_cons(2).max_by { |x1, x2| x2.media_count - x1.media_count }
我假设连续性由id
列决定(如果不是,则需要用all
方法替换order
方法,提供明确的列名和升序排序声明,例如order(created_at: :asc)
)。