Как получить общую сумму в поле таблицы базы данных месяц мудрый текущего года с помощью laravel

Как получить общую сумму в поле таблицы базы данных месяц мудрый текущего года с помощью laravel

24.10.2019 04:22:22 Просмотров 29 Источник

Так что у меня есть база данных с суммой и created_at поле на нем, и я хочу, чтобы общая сумма в месяц текущего года и или каждый год.

$sql = 'SELECT SUM(amount) as "Amount",MONTHNAME(created_at) as "Month"
FROM transactions WHERE YEAR(created_at) = YEAR(CURDATE())
GROUP BY YEAR(created_at),MONTH(created_at)';
DB::statement($sql);

Фактическая Таблица

ID    amount     created_at
1      1000      2019-10-24    
2      234       2019-11-11
3      122       2019-09-04
4      5200      2019-09-14

ожидаемый результат

ID    Amount     Month
1      6322      September    
2      234       November

Синтаксическая ошибка или нарушение прав доступа: 1055 дБ.стол.created_at не в группе(в SQL: выбрать сумма(сумма) как "общая сумма", функцией monthname(created_at) как " месяц

Пожалуйста, что он говорит. Однако если запустить этот запрос на phpmyadmin он отлично работает

У вопроса есть решение - Посмотреть?

Ответы - Как получить общую сумму в поле таблицы базы данных месяц мудрый текущего года с помощью laravel / How to get the total amount in a database table field month wise of the current year using laravel

Eyad Jaabo

24.10.2019 04:29:34

Сначала установите strict => falseв app\config\database -> mysql

после этого запустите php artisan optimize

затем

 $sql = DB::table('transactions')
        ->select(DB::raw('SUM(amount) as Amount,MONTHNAME(created_at) as Month Name'))
        ->where(DB::raw('YEAR(created_at) = YEAR(CURDATE())'))
        ->groupBy('created_at')
        ->get();
https://stackoverflow.com/questions/58542348/how-to-get-the-total-amount-in-a-database-table-field-month-wise-of-the-current/58542481#comment103407662_58542481
Дайте синтаксическую ошибку sql синтаксис для использования рядом с ' group by created_at'
https://stackoverflow.com/questions/58542348/how-to-get-the-total-amount-in-a-database-table-field-month-wise-of-the-current/58542481#comment103407872_58542481
Я сам виноват видел это
Dan McClain

24.10.2019 06:56:01

Вы группируете по частям created_at, а затем ссылаетесь на created_atпри SELECT. Проблема в том, что при группировании результатов в запросе могут использоваться только агрегатные функции и сгруппированные объекты. Если вы используете MONTH(created_at)в select вместо MONTHNAME, вы должны быть в порядке (или вы можете group by YEAR, MONTHNAMEвместо этого и продолжать использовать MONTHNAMEв своей проекции

Закрыть X