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

Zapytanie sumujące za pomocą funkcji groupBy() w laravel

Zakładając, że nazwa Twojej tabeli to transactions , a kolumny i dane jak w przykładowej tabeli — Zapytanie SQL to

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

W laravelu napisałbyś to jako

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

Możesz dodać swoje warunki WHERE i cokolwiek potrzebujesz do zapytania. Ale jeśli chcesz wybrać więcej kolumn z tabeli, musisz również dodać je do groupBy() klauzula. Coś jak transactions.* prawdopodobnie nie będzie działać z powodu ONLY_FULL_GROUP_BY tryb. Ale to też prawdopodobnie nie ma sensu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. VARCHAR vs TEXT w MySQL

  2. Jak dodać więcej członków do mojej kolumny typu ENUM w MySQL?

  3. Wybieranie rekordów w kolejności identyfikatora rodzica

  4. Przesyłanie wielu obrazów za pomocą Codeignitera, zapisującego tylko jedną ścieżkę pliku do bazy danych MySQL

  5. MySQL prowadzi rozmowę między dwoma użytkownikami