[英]SQL Max of a sum (two rows with same value)
因此,我進行了一個測驗,問題是編寫一個選擇查詢,該查詢返回值最高的項目(並且僅返回最高的項目)。 因此,我有2張桌子,一張是物品清單,一張是每件物品的價格。 我必須對所有項目的值求和,然后返回哪些項目具有最大的價值,如果有的話可以將兩者都顯示出來。
我想出了什么,但是我很肯定有一種更簡單的方法可以做到這一點。 我只是想知道是否有人可以幫助我簡化我的回答:
select a.item from
(select item , sum(price) as price from Inventory i
inner join prices p on p.item = i.item
group by item, price) a
where price= (select MAX(a.price) from
(select item , sum(price) as price from Inventory i
inner join prices p on p.item = i.item
group by item, price) a)
您可以編寫(使用HAVING函數)
select i.item
from Inventory i
inner join prices p on p.item = i.item
group by i.item
having sum(price) = (SELECT MAX(sum_price) from (select SUM(price) OVER (PARTITION BY item) sum_price from prices) a);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.