我使用SQL server选择这个表,并根据他们向商店支付的总金额对客户id和名字进行分组。我试着用
select custid, name, sum(payment)
from transactions
group by custid
order by payment desc
,但它返回以下错误:
不包含在聚合函数或GROUP BY子句
你能说明我做错了什么吗?
这是我的客户表
<表类>cust id 付款 名称 tbody><<tr>T001 60 凯蒂 T002 12 艾米 T003 40 莱昂 T001 20 凯蒂 表类>
这个错误指的是name或payment列,您引用这两个列时没有聚合。
您需要按排序相同的表达式或为列提供别名;除列名不一致外,请尝试:
select Cust_Id, sum(Payment) as TotalPayment, Name
from transactions
group by Cust_Id, Name
order by TotalPayment desc;
您的客户id列中有一个空格。您的代码不包含空格。试着在cust和id之间加一个空格。