查询用户数据表,需要根据时间正序排序,然后获取时间最早的前三条数据,是不是第一印象想这么写:
select * from users where rownum<4 order by datatime asc
哈哈,这就错了,因为oracle会先去前三条数据,然后再按照时间排序,你是得不到正确结果的,应该先排序,再获取数据
select * from (select y.* from users y order by y.datatime asc) where rownum<4
查询用户数据表,需要根据时间正序排序,然后获取时间最早的前三条数据,是不是第一印象想这么写:
select * from users where rownum<4 order by datatime asc
哈哈,这就错了,因为oracle会先去前三条数据,然后再按照时间排序,你是得不到正确结果的,应该先排序,再获取数据
select * from (select y.* from users y order by y.datatime asc) where rownum<4