如何选择最佳客户并根据他们支付的金额对他们进行分组



我使用SQL server选择这个表,并根据他们向商店支付的总金额对客户id和名字进行分组。我试着用

select custid, name, sum(payment)
from transactions
group by custid
order by payment desc

,但它返回以下错误:

不包含在聚合函数或GROUP BY子句

你能说明我做错了什么吗?

这是我的客户表

<表类>cust id付款名称tbody><<tr>T00160凯蒂T00212艾米T00340莱昂T00120凯蒂

这个错误指的是namepayment列,您引用这两个列时没有聚合。

您需要排序相同的表达式或为列提供别名;除列名不一致外,请尝试:

select Cust_Id, sum(Payment) as TotalPayment, Name
from transactions
group by Cust_Id, Name
order by TotalPayment desc;

您的客户id列中有一个空格。您的代码不包含空格。试着在cust和id之间加一个空格。

相关内容

  • 没有找到相关文章