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.