2012-03-05 2 views
-4

Я пытаюсь выполнить запрос, где он суммирует итоговые суммы для заказов от каждого клиента.Использование SUM в SQL-запросе

Я пробовал несколько разных способов, но я не уверен, как правильно это сделать.

Я пытался ...

SELECT * 
FROM Orders 
SUM(Total) as Totals 
COUNT(OrderID) as OrderAmt 
GROUP BY CustomerID, OrderAmt, ShipName, Totals 

Я хочу, чтобы получить этот результат ....

===================================== 
|CustomerID|Orders |ShipName|Total | 
|==========|=======|========|=======| 
|3334  |3  |Joe Blow|1100.00| 
|----------|-------|--------|-------| 
|114  |2  |Steve |280.00 | 
|----------|-------|--------|-------| 
|1221  |1  |Sue  |250.00 | 
|----------|-------|--------|-------| 
|3444  |1  |Bob  |22.00 | 
===================================== 

Из этой таблицы ...

|===================================| 
|CustomerID|OrderID|ShipName|Total | 
|==========|=======|========|=======| 
|3334  |232 |Joe Blow|400.00 | 
|----------|-------|--------|-------| 
|3334  |234 |Joe Blow|500.00 | 
|----------|-------|--------|-------| 
|3334  |231 |Joe Blow|200.00 | 
|----------|-------|--------|-------| 
|114  |235 |Steve |250.00 | 
|----------|-------|--------|-------| 
|114  |239 |Steve |30.00 | 
|----------|-------|--------|-------| 
|1221  |244 |Sue  |250.00 | 
|----------|-------|--------|-------| 
|3444  |632 |Bob  |22.00 | 
|===================================| 

Что бы для этого правильный оператор SQL.

+2

'GROUP BY' +' SUM' + 'COUNT' – zerkms

ответ

19

Sum и count могут быть использованы для получения желаемого результата:

select CustomerID, count(*) as Orders, ShipName, sum(Total) as Total 
from Table 
group by CustomerID, ShipName 
order by count(*) desc; 
+4

+1 для даже нашли время, чтобы ответить, когда его кажется, что OP ничего не пробовал – Taryn

1
select CustomerID, count(OrderID) Orders, ShipName, sum(Total) Total 
from Order_TAB 
group by CustomerID, ShipName 
Смежные вопросы