我有返回的SQL SELECT语句:
Error: ORA-00600: internal error code, arguments: [qerpfAllocateR], [], [], [], [], [], [], []
如果通过在WHERE子句中再添加一个条件来缩小结果的范围,则一切正常。
有人知道发生了什么吗?
编辑:
select * from ( select tbl1.col1, ..., tbl1.points
from table1 tbl1, table2 tbl2
where tbl1.tbl2FK = tbl2.PK and
tbl2.col1 = someNumber and
tbl1.dateColumn = to_date('27-10-2008','dd-mm-yyyy')
order by tbl1.points desc ) s where rownum <= 3
编辑2:
我的数据库管理员建议了有效的解决方案:
select * from (select rank() over (order by tbl1.points desc) rank,
tbl1.col1, ..., tbl1.points
from table1 tbl1, table2 tbl2
where tbl1.tbl2FK = tbl2.PK and
tbl2.col1 = someNumber and
tbl1.dateColumn = to_date('27-10-2008','dd-mm-yyyy')) s
where s.rank <= 3
最佳答案
祝您好运,得到Oracle的支持...
严重的是,每次我遇到这个问题时,通常对查询进行一些重新安排通常都会有所帮助。也许有点摆弄索引。