여기에 조인 된 테이블이 3 개 있습니다. 고객이 주문한 고객, 주문 및 품목이 있습니다. 이러한 이름은 CustomersTbl, OrdersTbl, OrderedItemTbl입니다.MySql : 조인 된 테이블의 MAX 값 반환
나는 모든 주문을 총 가격으로 정렬하고 주문 이름을 작성한 고객을 표시합니다.
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() 함수를 사용할 수 있습니까?
'MAX (totalPrice)에 의한 주문' – underscore
Nope. 슬프게도 다음과 같은 메시지가 표시됩니다. '오류 1247 : totalPrice 참조가 지원되지 않습니다.' 나는 totalPrice의 값을 넣음으로써 그것을 고치려고했다 : sum (ordereditemtbl.amount * productstbl.Price). 오류 1111 : '그룹 기능을 잘못 사용했습니다.' – Villager
'... by order by totalPrice desc LIMIT 1' [docs] (https://dev.mysql.com/doc/refman/5.0/en/select.html)를 참조하십시오. 또한'orderstbl ON ordereditemtbl.orderID = ordereditemtbl.orderID' 줄에 오류가 있음을 유의하십시오. 'orderstbl ON ordereditemtbl.orderID = erderstbl.orderID'를 뜻하는 것 같습니다. – abl