簡體   English   中英

SQL Max的總和(兩行具有相同的值)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM