如果想要做一个查询,想先排序再取前几条,以下这样写是不行的:
select *
from tableName
where rownum < 10
order by columnName
因为这些写的话,根据sql文的执行顺序,会先运行where语句,再运行orderby语句。所以会先把前10条抽出来,再排序。
如果像实现之前的需求,需要这么写:
select *
from
(select * from tableName
order by columnName)
where rownum < 10