mysql总和行数由customerid show desc命令

时间:2014-10-01 21:19:50

标签: mysql sum

我有一个问题,我的教授给了我一个关于这样做的声明

有多少客户是“鲸鱼”,即他们一生中花了超过4,000美元?花了不到20美元的“虾”有多少?

这是我们使用的在线数据库:http://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all

运行此查询以创建另一个表,然后帮助我(如果可以)

CREATE TABLE ByCustomerOrders AS
SELECT
 o.OrderID
, p.ProductName
, p.ProductID
, Price
, Quantity
, Price * Quantity AS subtotal
, c.CustomerID
, s.SupplierID
FROM OrderDetails AS od
LEFT JOIN Orders AS o
ON od.OrderID = o.OrderID
LEFT JOIN Products AS p
ON p.ProductID = od.ProductID
LEFT JOIN Customers AS c 
on c.CustomerID = o.CustomerID
LEFT JOIN Suppliers AS s 
ON s.SupplierID = p.SupplierID; 

我正在尝试将每个客户订单组合在一起,按照客户ID对总和进行分组,然后在表格中将其显示为每个客户ID的一行,以及他们从小计订购的总金额

SELECT customerID, SUM(subtotal) AS 'total_money_spent' FROM ByCustomerOrders GROUP BY customerID ORDER BY 'total_money_spent' DESC LIMIT 1;

这似乎不起作用,因为它显示值为111.任何人都看到了问题?

1 个答案:

答案 0 :(得分:2)

你的陈述末尾有一个LIMIT 1,它只显示第一个结果。

当你跑步时: SELECT customerID,SUM(小计)AS'total_money_spent'FROM ByCustomerOrders GROUP BY customerID ORDER BY'total_money_spent'DESC;

输出所有分组的总数