我有兩個表與以下記錄:多行獲取與最大數量的SQL
客戶:
cid | cname | ccountry
-----------------------
1 | John | Australia
2 | Mark | USA
3 | Liz | England
訂單:
oid | cid | oquantity
---------------------
1 | 1 | 100
2 | 1 | 100
3 | 2 | 50
4 | 2 | 150
5 | 3 | 50
6 | 3 | 100
我需要找出客戶端名稱( s)有最大數量的訂單。我運行以下查詢並獲得正確的結果。
select cname, ccountry
from Clients
where cid in
(select cid
from Orders
group by cid
having sum(oquantity) = (select max(amount) from
(select sum(oquantity) amount
from Orders
group by cid)t1))
2行(S)返回
'約翰', '澳'
'馬克', 'USA'
但我只需要知道,是否可以通過更簡單的方式來完成。一旦總量還需要退貨,它就變得複雜了。
工作正常。感謝堆。 –