【发布时间】:2011-10-25 13:10:17
【问题描述】:
我面临一个奇怪的问题,即同一个查询返回不同的结果。
我的查询是:
SELECT * FROM TX_HISTORY WHERE acct = 7 AND ROWNUM
发生的事情是,我知道这个帐户在 tx_history 中有 100 多条记录。我想根据处理日期获取前 100 条记录。 我的这个帐户的数据是我从 2004 年到 2011 年的记录
问题是有时它正确显示了从 2004 年开始的 100 条记录 - 但有时它显示了从 2005 年开始的 100 条记录
我读到这可以通过以下方式解决:
SELECT * FROM (select * from TX_HISTORY WHERE acct = 7 ORDER BY acct,processing_date) 其中rownum
所以在我之前的查询中是: 1> 我的理解是 order by 是在 rownum
虽然不明白为什么结果会有所不同 谢谢, ~akila
【问题讨论】:
标签: oracle