SQL-оператор, который будет суммировать - PullRequest
0 голосов
/ 27 февраля 2019

Привет. Я пытаюсь, чтобы каждый идентификатор категории отображался только один раз, а общая сумма транзакции суммируется для каждого идентификатора категории.

Затем я буду отображать это в виде сетки или, надеюсь, визуально отобразить вдиаграмма.

Ниже приведен скриншот базы данных Database

Это пробный код, который я пробовал, который не работает

select * , SUM(TransactionAmount) 
from UserBudgetTransaction 
GROUP BY CategoryID

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Номер столбца в выделении также должен быть в группе (для большинства дБм), вы выбрали весь столбец, но поместили только GroupID в группу, так что это неправильно, поэтому правильный будет как ниже

select CategoryID, SUM(TransactionAmount) 
from UserBudgetTransaction 
GROUP BY CategoryID
0 голосов
/ 27 февраля 2019

Правильный синтаксис для GROUP BY:

select CategoryID, SUM(TransactionAmount) 
from UserBudgetTransaction 
group by CategoryID;

SELECT *, как правило, не подходит для GROUP BY (хорошо, что есть один случай, когда столбцы GROUP BY включают функциональные зависимости),В общем случае единственными столбцами в SELECT, которые не являются аргументами функций агрегации, должны быть ключи GROUP BY.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...