2016-01-13 4 views
0

Я пытаюсь обработать запрос MySQL для решения проблемы. Я пытаюсь перебрать список «продаж», где я пытаюсь сортировать идентификаторы клиентов, перечисленные по их общим накопленным расходам.MYSQL - СУМ столбца, основанного на общем значении в другом столбце

|Customer ID| Purchase price| 
10   |1000 
10   |1010 
20   |2111 
42   |9954 
10   |9871 
42   |6121 

Как я могу перебирать таблицу, где я суммирую покупную цену, где идентификатор клиента является одинаковым?

Ожидая результат, как:

Customer ID|Purchase Total 
10   |11881 
20   |2111 
42   |16075 

я получил: выберите идентификатор клиента, сумма (PurchasePrice) как PurchaseTotal от продаж, где CustomerID = (SELECT DISTINCT (CustomerID) от продаж) порядка по PurchaseTotal возрастанию; Но это не работает, потому что он не перебирает CustomerIDs, он просто хочет, чтобы одно значение результата ...

ответ

5

Вы должны GROUP BY свой идентификатор клиента:

SELECT CustomerID, SUM(PurchasePrice) AS PurchaseTotal 
FROM sales 
GROUP BY CustomerID; 
+0

Это было великолепно. Огромное спасибо. – JoshuaaM

1

Выберите CustomerID, сумму (PurchasePrice) как PurchaseTotal FROM sales GROUP BY CustomerID ORDER BY PurchaseTotal ASC;

1

Просто имея небольшой поиск Google, мне удалось найти страницу, в которой вы делаете то, что вы делаете (я думаю). Я подгонял запрос ниже, чтобы соответствовать вашим обстоятельствам.

SELECT CustomerID, SUM(PurchasePrice) AS PurchaseTotal 
FROM sales 
GROUP BY CustomerID 
ORDER BY PurchaseTotal ASC 

Link to Page with Tutorial on SQL Groups

Смежные вопросы