sql >> Databasteknik >  >> RDS >> Mysql

Summeringsfråga med funktionen groupBy() i laravel

Förutsatt att ditt tabellnamn är transactions , och kolumner och data som i din exempeltabell - SQL-frågan skulle vara

SELECT Name, SUM(Amount) as Amount, Date
FROM transactions
GROUP BY Name, Date

I laravel skulle du skriva det som

$data = DB::table('transactions')                
    ->select('Name', DB::raw('SUM(Amount) as Amount'), 'Date')
    ->groupBy('Name', 'Date')
    ->get();

Du kan lägga till dina WHERE-villkor och vad du än behöver i frågan. Men om du behöver välja fler kolumner från tabellen måste du också lägga till dem i groupBy() klausul. Något som transactions.* kommer förmodligen inte att fungera på grund av ONLY_FULL_GROUP_BY läge. Men det är förmodligen inte heller meningsfullt.



  1. Hur man hittar poster med NULL i en kolumn

  2. Infoga data i SQL Server 2017

  3. Hur man beräknar kumulativ totalsumma i MySQL

  4. Simple Encrypted Arithmetic Library (SEAL) och sigill::Ciphertext-variabeln