MySql:返回联接表中的最大值
我这里有三张桌子。有客户、订单和客户订购的物品。它们被命名为:CustomersTbl、OrdersTbl、OrderedItemTbl 我正在安排所有订单及其总价,并显示下订单的客户名称MySql:返回联接表中的最大值,mysql,sql,join,max,Mysql,Sql,Join,Max,我这里有三张桌子。有客户、订单和客户订购的物品。它们被命名为:CustomersTbl、OrdersTbl、OrderedItemTbl 我正在安排所有订单及其总价,并显示下订单的客户名称 select * from productstbl; select * from ordereditemtbl; select * from orderstbl; select ordereditemtbl.ItemID, customerstbl.CustomerID, cust
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;
现在我想单独显示最高总价的订单。我怎样才能得到它的最大值?有没有可能使用MAX()函数的方法?让我们看看。检查这是否有效:
SELECT * FROM
(
select
ordereditemtbl.ItemID,
customerstbl.CustomerID,
customerstbl.FirstName,
orderstbl.OrderID,
orderstbl.OrderDate,
sum(ordereditemtbl.amount * productstbl.Price) as totalPrice,
@rownum AS row_number
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'
inner join
(SELECT @rownum := 0) dummy
group by ordereditemTbl.OrderID
ORDER BY totalPrice desc;
)
WHERE row_number=0
这将分配一个行号并选择最上面的一行
干杯,
Ram根据abl的建议,我在代码末尾添加了以下内容:
order by totalPrice desc LIMIT 1;
显示创建的表的第一行,如降序值所示。
谢谢
按最大订单(总价)
否。遗憾的是,我得到了以下信息:“错误1247:不支持参考总价”。我试图通过将totalPrice的值:sum(ordereditemtbl.amount*productstbl.Price)来修复它。使我遇到错误1111:“组函数的使用无效”。。。。按总价说明限额订购1
请参阅。另外请注意,ordereditemtbl.orderID=ordereditemtbl.orderID上的orderstbl行中有一个错误,我猜您的意思是ordereditemtbl.orderID=erderstbl.orderID谢谢,这很有效。:)我们缺少每个表的别名,但在我添加之后,返回了0行。我不明白,我复制了你的查询,我应该添加别名吗?我真的是SQL的初学者,我只是通过错误学习这些东西。