我的問題需要我從表中查詢數據,幷包含一列以計算%增加。我只需要使用MAX來提取最高增長百分比的記錄。我認爲我在正確的軌道上,但由於某種原因,儘管有條款要求最大限度地返回所有記錄。最大返回自加入的所有值
Select
O.Grocery_Item,
TO_CHAR(sum(g.Price_IN_2000), '$99,990.00') TOTAL_IN_2000,
TO_CHAR(sum(g.Estimated_Price_In_2025), '$99,990.00') TOTAL_IN_2025,
TO_CHAR(Round(O.MY_OUTPUT),'9,990') || '%' as My_Output
From
GROCERY_PRICES g,
(SELECT
GROCERY_ITEM,
(((sum(Estimated_Price_In_2025) -
sum(Price_IN_2000))/sum(Price_IN_2000))*100) MY_OUTPUT
FROM
GROCERY_PRICES
GROUP BY GROCERY_ITEM) O
Where
G.GROCERY_ITEM = O.GROCERY_ITEM
GROUP BY
O.GROCERY_ITEM, O.MY_OUTPUT
Having
my_output IN (select Max(O.MY_OUTPUT) from GROCERY_PRICES);
結果:
GROCERY_ITEM TOTAL_IN_2000 TOTAL_IN_2025 MY_OUTPUT
------------------------------ ------------- ------------- ---------
M_004 $2.70 $5.65 109%
B_001 $0.80 $2.64 230%
T_006 $5.70 $6.65 17%
B_002 $2.72 $7.36 171%
E_001 $0.62 $1.78 187%
R_003 $4.00 $13.20 230%
6 rows selected
由於您的羣組是由項目決定的,因此最大輸出也是按項目。如果你只想要一個最高百分比的項目,你可能需要做一個子選擇OR,通過my_output命令將輸出限制爲1條記錄 – xQbert
我不認爲這條線是合法的:'select Max(O。 MY_OUTPUT)',引用'O.MY_OUTPUT'並從'GROCERY_PRICES'查詢它。 –
謝謝你們,不幸命令它似乎沒有幫助。另外,'選擇MAX(O.MY_output)只是一個錯誤,但它不會影響結果。 – RyanPatrick