ORACLE sqL 查询一张表中,字段id最大值的那条记录。 table表里有id,和time两 select max(id)form table

ORACLE sqL 查询一张表中,字段id最大值的那条记录。 table表里有id,和time两 个字段,查询ID最大的那个对应的TIME.
select max(id),TIME form table
这个写法是错误的。请教正确写法。不想用
select * from table where id in (select max(id),TIME form table)意思和这个SQL差不多的语句。
想直接查出结果。

第1个回答  2012-02-17
select time from table t1
where not exists (select 1 from table where id > t1.id)

或者
select time from table where id in (select max(id) from table)追问

这两个方法都很正确,不知道还有没有其它写法。因为数据量比较大。写法不一样。查询速度也不一样。

追答

如果有索引,就用第二个,否则第一个效率要高很多

本回答被提问者采纳
第2个回答  2012-02-17
select idTIME form table where rownum=1 order by id desc;追问

这个写法最终只能出来一条数据。理解错误了。

追答

应该是我理解错了,你要查询的是最大id对应的所有的时间,楼上的回答是正确的

相似回答
大家正在搜