Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Laravel 4 Query Builder - groupBy Max Date

Jest to najłatwiejszy i najkrótszy sposób, aby uzyskać groupBy Max Date w laravelu. Weź wiersze z maksymalną datą z grupowaniem według user_id .

       $rows = DB::table('papers')
               ->select(DB::raw('id, max(paper_update) as year,user_id'))
               ->groupBy('user_id')
               //->orderBy('paper_update', 'desc')
               ->get();

To zapytanie laravel utworzy zapytanie mysql takie jak to

select id, max(paper_update) as year from `papers` group by `user_id`;

Wyjście będzie

Array
(
    [0] => stdClass Object
        (
            [id] => 4
            [year] => 30-5-2013 
            [user_id] => 1
        )

    [1] => stdClass Object
        (
            [id] => 5
            [year] => 30-5-2013
            [user_id] => 2
        )

    [2] => stdClass Object
        (
            [id] => 6
            [year] => 30-5-2014
            [user_id] => 3
        )

    [3] => stdClass Object
        (
            [id] => 7
            [year] => 30-5-2014
            [user_id] => 4
        )
    [4] => stdClass Object
        (
            [id] => 10
            [year] => 30-5-2016
            [user_id] => 5
        )
)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL ustawia unikalne_sprawdzenia, ustawia obce_klucze_checks vs. alter table disable keys

  2. SQL — błąd aktualizacji wyzwalacza

  3. pobranie nazwy rodzica kategorii podrzędnej za pomocą jednego zapytania w mysql

  4. Błąd połączenia z bazą danych:(przy użyciu klasy org.gjt.mm.mysql.Driver) Instrukcja (1) nie ma otwartego kursora

  5. mySQL - Wstaw do trzech tabel