假设一次查询有很多记录,我只想这个查询结果集里面的最后一条记录,该怎么写SQL语句?
解决方案 »
- oracle 环境配置
- 一句令人费解的SQL查询语句
- oracle中想把一张表的几条记录整合成一条记录放到另一张表的一个字段中,如何用存储过程实现
- 有用过OCITransStart()的吗?
- Linux下运行Oracle10g速度很慢。发现ORACLE进程占用SYS高过USER
- oracle中是否有判断全角空格的函数?
- 555555555,终于出问题了,ORA-01081: cannot start already-running ORACLE - shut it down first
- 想开始学oracle7i请问有什么好的电子书可下载
- 关于恢复,当我丢失了所有控制文件?
- Oracle分页查询与解决方案
- 初始化参数文件自定义问题
- PL/SQL 中使用 delete truncate
max(rowid)适于于没有排序的,有排序的结果集,rowid最大的不等于排序后的最后条结果
只需要写rownm=1就可以了
然后ROWNUM=1
为什么错,只有你自己亲自去执行这些SQL语句看结果才知道原因。select * from SaleTable
where Enddate < to_date('2008-03-10','yyyy-mm-dd')
and Rownum = 1
order by EndDate desc----------------------------------------
假设SaleTable 有如下记录2008-02-01 S1
2008-02-03 S2
2008-03-01 S3
2008-03-09 S4执行上面的语句得到的结果是:2008-02-01 S1
而不是 2008-03-09 S4
(select rownum rw, EndDate as EndDate from SaleTable order by EndDate desc) t
where rw = 1 order by EndDate
select * from
(select rownum rw, EndDate as EndDate from SaleTable order by EndDate desc) t
where rownum = 1 order by EndDate 这样就能得到2008-03-09 S4了