sql >> Database teknologi >  >> RDS >> Mysql

Summationsforespørgsel ved hjælp af groupBy() funktion i laravel

Forudsat at dit tabelnavn er transactions , og kolonnerne og dataene som i din eksempeltabel - SQL-forespørgslen ville være

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

I laravel ville du skrive det som

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

Du kan tilføje dine WHERE-betingelser og hvad du har brug for til forespørgslen. Men hvis du skal vælge flere kolonner fra tabellen, skal du også tilføje dem til groupBy() klausul. Noget som transactions.* vil sandsynligvis ikke fungere på grund af ONLY_FULL_GROUP_BY mode. Men det giver nok heller ikke mening.



  1. Sådan linker du en Access-database til SQL Server i Access 2016

  2. MySQL slutter sig til sagsfremstillinger

  3. MySql FEJL 1045 (28000):Adgang nægtet for brugeren 'root'@'localhost' (ved hjælp af adgangskode:NEJ)

  4. Introduktion til PL/SQL Ref-markører i Oracle-databasen