我正在使用 SQL Server 選擇此表并根據客戶向商店支付的總金額對客戶 ID 和名字進行分組。我嘗試使用
select custid, name, sum(payment)
from transactions
group by custid
order by payment desc
但它回傳以下錯誤:
不包含在聚合函式或 GROUP BY 子句中
你能澄清一下我做錯了什么嗎?
這是我的客戶表
| 客戶編號 | 支付 | 姓名 |
|---|---|---|
| T001 | 60 | 凱蒂 |
| T002 | 12 | 艾米 |
| T003 | 40 | 萊昂 |
| T001 | 20 | 凱蒂 |
這是我想要得到的結果表
| 客戶編號 | 支付 | 姓名 |
|---|---|---|
| T001 | 80 | 凱蒂 |
| T003 | 12 | 艾米 |
| T002 | 40 | 萊昂 |
uj5u.com熱心網友回復:
該錯誤指的是名稱或付款列,您在沒有匯總的情況下參考了這兩個列。
您需要按相同的運算式排序或為列提供別名;除了列名不一致之外,請嘗試:
select Cust_Id, sum(Payment) as TotalPayment, Name
from transactions
group by Cust_Id, Name
order by TotalPayment desc;
uj5u.com熱心網友回復:
您的客戶 ID 列中有一個空格。您的代碼不包含空格。嘗試在 cust 和 id 之間留一個空格。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/486195.html
標籤:sql 选择 通过...分组 sql-order-by
