2008-07-10 13:57:16 / Oracle开发
单表结构MESSAGES(MSG_NUM PK,TIME_START,DESCR)查询该表以TIME_START排序的前10项记录。本来写的是select * from MESSAGES where rownum < 11 order by TIME_START;后来检查执行结果发现不对。才知道对这条语句先解析where子句,然后再做order by。所以没有得到我想要的记录。于是改写:select * from (select * from MESSAGES order by TIME_START) where rownum < 11;得到了我想要的记录。虽然得到了记录,可这条语句有个问题就是如果MESSAGES的记录非常多,那么select * from MESSAGES order by
查看(231)
评论(9)