sql取部分最近数据,用SQL语句怎么实现如下功能:
使用 select * from tablename where pDate <= Now (举例而已),查询出来的结果可能有很多个,但是我只希望出来小部分,如20条等。主要原因是不想打开太大的数据集,速度太慢了。我希望能在符合条件的所有结果中,只把最近的部分加入数据集,就像论坛里面的'最新50条留言'一样。
怎么写呢?
------解决方法--------------------------------------------------------
select * from tablename where pDate <= Now and rownum < 20
------解决方法--------------------------------------------------------
笔误,
select * from tablename where pDate <= Now and rownum <= 20
------解决方法--------------------------------------------------------
如果按时间取记录,类似'最新50条留言',需要增加一个排序,然后再取rownum
------解决方法--------------------------------------------------------
答案:
select * from
(
select * from tablename where pDate <= Now
order by pDate desc
)
where rownum<=20