您的位置:首页 > 数据库

SQL语句中ROWNUM和ORDER BY一起使用时的注意事项

2014-04-24 11:58 429 查看
无意中发现一个问题,这个问题的起因是一条SQL语句,语句如下:
SELECT *
FROM fs_message_info  WHERE   ROWNUM <= '1000'
order by SENDTIME desc


当查询到的数据量不超过1000条的时候这条SQL是没有问题的,但是当查询的数据量特别大的时候,这样写SQL就会导致,查询到的数据信息不完整。ROWNUM和ORDER BY一起用时比较严谨的写法应该是:
SELECT * FROM (SELECT *
FROM fs_message_info
order by SENDTIME desc) where ROWNUM <= '1000'


先排序,然后再取排序后的前1000条数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: