1

私はPostgreSQLデータベースでRailsアプリケーションを使っています。 私は上記の場合には、それはこれらの違いによってになります任意の連続する行2つの連続する行の最大の列の差

ようにmedia_countの最大の違いを見つける必要があり、この

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 

のようなレコードを持ってアップロードという名前のテーブルを、持っています行

ID media_count created_at 
2 12   02-01-2017 
3 20   03-01-2017 

このようなクエリの作成方法はわかりません。

答えて

1

あなたは次のことを試すことができます。

Upload.all.each_cons(2).max_by { |x1, x2| x2.media_count - x1.media_count } 

私はsuccessivenessがid列によって決定されることを前提とし(そうでない場合は、明示的な列名を提供し、order 1でall方法を交換する必要があります昇順ソート宣言(たとえば、order(created_at: :asc))。

+1

ありがとう、その完全に動作します。 &そのような方法について知る必要があるようです。 –

+0

これはどんなクエリ方法でも良いですか? –

+1

@MuhammadFaisalIqbal:はい、ありますが、純粋なアクティブレコードはありませんが、これを達成するためには少なくとも部分的にプレーンSQLを使用する必要があります(サブクエリまたはテンポラリテーブルの作成用) – potashin

関連する問題