Hallo, 我有一個連接表,表tableA和tableB。 tableA有一個名爲Amount的列。 tableB有一個名爲refID的列。當refID具有相同的值時,我希望總計金額列。我是用SUM我的查詢,但它扔我一個錯誤:當我有一個連接表時如何查詢總數
ORA-30483: window functions are not allowed here
30483. 00000 - "window functions are not allowed here"
*Cause: Window functions are allowed only in the SELECT list of a query.
And, window function cannot be an argument to another window or group
function.
這是我供你參考查詢:
select *
from (
select SUM(A.Amount), B.refId, Rank() over (partition by B.refID order by B.id desc) as ranking
from table A
left outer join table B on A.refID = B.refID
)
where ranking=1;
我可以知道現在還有沒有以任何其他的解決辦法,我總金額?
THanks @!
好一個!沒有OVER(PARTITION BY a.refId)的SUM(金額)不起作用。我正在考慮這是否是由查詢中的rank()引起的,因此我不能僅以這種方式總結數量? :0) – huahsin68 2011-04-18 05:07:09
@ huahsin68:請指定「不工作」是什麼意思:它不解析,拋出錯誤,返回錯誤的結果? – Quassnoi 2011-04-18 09:32:56