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

「爱情、让人受尽委屈。」 2022-04-11 12:18 351阅读 0赞

无意中发现一个问题,这个问题的起因是一条SQL语句,语句如下:

  1. SELECT *
  2. FROM fs_message_info WHERE ROWNUM <= '1000'
  3. order by SENDTIME desc

当查询到的数据量不超过1000条的时候这条SQL是没有问题的,但是当查询的数据量特别大的时候,这样写SQL就会导致,查询到的数据信息不完整。ROWNUM和ORDER BY一起用时比较严谨的写法应该是:

  1. SELECT * FROM (SELECT *
  2. FROM fs_message_info
  3. order by SENDTIME desc) where ROWNUM <= '1000'

先排序,然后再取排序后的前1000条数据。

原文:https://blog.csdn.net/xiayujj123/article/details/24386057

发表评论

表情:
评论列表 (有 0 条评论,351人围观)

还没有评论,来说两句吧...

相关阅读