Mysql
 sql >> база данни >  >> RDS >> Mysql

Заявка за сумиране, използваща функция groupBy() в laravel

Ако приемем, че името на вашата таблица е transactions , а колоните и данните като в примерната ви таблица - SQL заявката ще бъде

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

В laravel бихте го написали като

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

Можете да добавите вашите условия WHERE и каквото и да е необходимо към заявката. Но ако трябва да изберете още колони от таблицата, ще трябва също да ги добавите към groupBy() клауза. Нещо като transactions.* вероятно няма да работи поради ONLY_FULL_GROUP_BY режим. Но също така вероятно няма смисъл.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да ПОРЪЧАТЕ ПО SUM() в MySQL?

  2. Изберете всички дублиращи се редове въз основа на една или две колони?

  3. MySQL:Изберете всички дати в диапазон, дори ако няма налични записи

  4. PHP грешка:Достигнато е максимално ниво на влагане на функция от '100', прекратяване

  5. Не може да се зареди com.mysql.jdbc.Driver