oracle获取排序第一的数据

Posted caribean

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle获取排序第一的数据相关的知识,希望对你有一定的参考价值。

一:按照某字段排序(时间,总数等),获取第一条

select a.*  FROM (
     select *  from (
            select t.*,row_number() over(partition by t.id
order by t.createtime desc) rn   from table t
) c  where rn = 1) a
  where a.id=  001;--加上where条件是查询一条,不加是查询多条

 

二:如果是获取时间最新一条数据

SELECT * FROM table  WHERE  (id,createtime)  IN (SELECT id,MAX(createtime)  createtime  FROM  table  GROUP  BY  id);--获取时间最新的多条数据

SELECT * FROM table where a.id=018  and createtime=(SELECT MAX(createtime) FROM table where a.id=018);--获取一条时间最新的数据

 

以上是关于oracle获取排序第一的数据的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE 查询去重保留第一条排序

oracle 查询数据只要排序后的第一条记录(不用rownum=1),sql语句怎么写

oracle 查询数据只要排序后的第一条记录(不用rownum=1),sql语句怎么写

【SQL】根据一个字段分组求另一个字段的最大值,并带出其他字段

oracle开展分组后,取出每组的前几条数据

oracle 表一的A、B两个字段是联合主键,表二使用表一的A字段作为外键,这样可以吗?