我在写一个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,刚刚编辑。 –