我在寫一個SQL查詢以下功能面臨pecular問題的SQL查詢: 考慮見下表:需要幫助書面
---------------------------------
AccountNumber JobNumber
---------------------------------
1234 1111113
1234 1111112
1234 1111111
1212 1111131
1212 1111132
我想獲取傳遞給一個賬號一個最新的工號查詢。例如:如果我通過1234作爲賬號,我需要得到1111113,如果我通過1212,我應該得到1111131.如何編寫一個PL/SQL查詢來實現這一點?我們會通過多個帳號,如AccountNumber IN ('1234','1212')
。所以對於每個帳號我需要獲得最新的工作號碼。
目前我已經嘗試不使用像這樣:
SELECT *
FROM (SELECT JobNumber
FROM TABLE1
WHERE AccountNumber = ?)
WHERE ROWNUM = 1
,並在Java中的JDBC我循環thorugh賬號ArrayList和針對Oracle數據庫執行JDBC。但如你所知,這不是一個可行的解決方案,如果有4000個帳戶的性能點擊。
你可以幫忙寫這個SQL查詢嗎?
編輯:這裏指最新最高jobnumber可以爲如:出1111113和1111112. 1111113是最新的數據
你所說的 「最新」 是什麼意思?如果沒有要排序的日期/時間列,則從數據庫的角度來看「最新」是未定義的。 – Mat
@Mat,剛剛編輯。 –