总计的SQL语句

时间:2019-02-27 12:25:35

标签: mysql sql database

您好,我试图将每个类别ID仅显示一次,并将每个类别ID的总TransactionAmount总计。

然后我将其显示在网格中,或者希望将其显示在图表中。

下面是数据库的屏幕截图 Suggested

这是我尝试过的不起作用的sql代码

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

2 个答案:

答案 0 :(得分:3)

GROUP BY的正确语法是:

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

SELECT *通常不适用于GROUP BY(在GROUP BY列包含功能依赖项的情况下,这是一种情况)。通常,SELECT中唯一不是聚合函数参数的列应该是GROUP BY键。

答案 1 :(得分:2)

选择的列数也必须在group by中(对于大多数dbms),您已经选择了所有列,但是仅将CategoryID放在group by中,这是错误的,所以正确的如下所示

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