好吧,我完全被難住了。SQL:如何從表中選擇具有最高變化百分比的項目
我有一個表GROCERY_PRICES。
其中有GROCERY_ITEM,PRICE_IN_2012和ESTIMATED_PRICE_IN_2042的數據。
我需要編寫一個SQL SELECT語句來查找具有最高價格增長百分比的項目。然後按GROCERY_ITEM排序。
我不能在我的生活中弄清楚如何使用表中的數據來獲取在時間段內變化率最高的三個項目。
這是我的代碼,它返回我需要的所有數據,但是對於每個GROCERY_ITEM而不是具有最高變化百分比的三個項目。我知道這是310,但我不能硬編碼在這個數字。
SELECT grocery_item,
price_in_2012,
ESTIMATED_PRICE_IN_2042,
sum((ESTIMATED_PRICE_IN_2042 - PRICE_IN_2012)/PRICE_IN_2012) * 100 as Percent_Change
FROM grocery_prices
GROUP BY grocery_item,
price_in_2012,
ESTIMATED_PRICE_IN_2042
ORDER BY grocery_item;
我知道我需要使用子查詢,但我不知道如何去做。
謝謝。
編輯:某些樣本數據:
你正在使用哪些DBMS(MySQL,SQL Server,Oracle,...)? – peterm
您可以提供表格中的幾行樣本數據嗎?也許是我,但你的GROUP BY對我來說沒有意義 – peterm
@peterm我正在使用Oracle SQL Developer,我已經標記了它,但有人顯然刪除了標記。 –