【发布时间】:2014-04-26 16:54:18
【问题描述】:
我在这里加入了 3 张桌子。有客户订购的客户、订单和商品。它们被命名为:CustomersTbl、OrdersTbl、OrderedItemTbl。
我正在排列所有订单及其总价,并显示下订单的客户的姓名。
select * from productstbl;
select * from ordereditemtbl;
select * from orderstbl;
select
ordereditemtbl.ItemID,
customerstbl.CustomerID,
customerstbl.FirstName,
orderstbl.OrderID,
orderstbl.OrderDate,
sum(ordereditemtbl.amount * productstbl.Price) as totalPrice
from
ordereditemtbl
inner join
ProductsTbl ON ordereditemtbl.productID = productstbl.productID
inner join
orderstbl ON ordereditemtbl.orderID = ordereditemtbl.orderID
inner join
customerstbl ON customerstbl.customerID = orderstbl.customerID#'2'
group by ordereditemTbl.OrderID
order by totalPrice desc;
现在我想单独显示 TotalPrice 最高的订单。我怎样才能得到它的最大值?有没有办法可能使用 MAX() 函数?
【问题讨论】:
-
order by MAX(totalPrice) -
不。可悲的是,我得到以下信息:“错误 1247:不支持参考 totalPrice”。我尝试通过输入 totalPrice 的值来修复它:sum(ordereditemtbl.amount * productstbl.Price)。让我遇到错误 1111:“无效使用组功能”。
-
... order by totalPrice desc LIMIT 1请参阅docs。另请注意,您在orderstbl ON ordereditemtbl.orderID = ordereditemtbl.orderID行中有错误,我猜您的意思是orderstbl ON ordereditemtbl.orderID = erderstbl.orderID