sql >> データベース >  >> RDS >> Mysql

LaravelEloquentはmaxcreated_atですべての行を選択します

    各seller_idの最新のレコードを取得するには、次のクエリを使用できます

    select s.*
    from snapshot s
    left join snapshot s1 on s.seller_id = s1.seller_id
    and s.created_at < s1.created_at
    where s1.seller_id is null
    

    クエリビルダーを使用すると、次のように書き直すことができます

    DB::table('snapshot as s')
      ->select('s.*')
      ->leftJoin('snapshot as s1', function ($join) {
            $join->on('s.seller_id', '=', 's1.seller_id')
                 ->whereRaw(DB::raw('s.created_at < s1.created_at'));
       })
      ->whereNull('s1.seller_id')
      ->get();
    


    1. 単一のSQLServerステートメントはアトミックで一貫性がありますか?

    2. SQLServerからのINSERTINTOを使用したSalesforceデータの変更

    3. node-oracledbを使用してLDAPサーバーに接続するにはどうすればよいですか?

    4. Postgres制約を追加するときのユーザーまたはその近くでの構文エラー