oracle数据库排序后如何获取第一条数据

2023-02-28 09:06:31

目录oracle排序后如何获取第一条数据场景实现oracle分组后获取每组数据第一条数据总结oracle排序后如何获取第一条数据场景想要获取下列sql的数据的第一条selectNEXT_FOLLOW...

目录
oracle排序后如何获取第一条数据
场景
实现
oracle分组后获取每组数据第一条数据
总结

oracle排序后如何获取第一条数据

场景

想要获取下列sql的数据的第http://www.cppcns.com一条

select NEXT_FOLLOWUP_DATE
  from PH_CHILD_HEALTH_EXAM
 where person_info_id = '3afc119ab460497d85f59b1e135ea6b1'
 order by followup_Visit_Date desc

在这里插入图片描述

实现

select NEXT_FOLLOWUP_DATE
  from (select NEXT_FOLLOWUP_DATE
          from PH_CHILD_HEALTH_EXAM
         where person_info_id = '3afc119ab460497d85f59b1e135ea6b1'
           and is_Cancel = 0
         order by followup_Visit_Date desc)
 where rownum = 1;

在这里插入图片描述

oracle分组后获取每组数据第一条数据

[sql]
SELECT *   
 FROM (SELECT ROW_NUMBER() OVER(PARTITION BY x ORDER BY y DESC) rn,   
    test1.*   
    FROM test1)   
 WHERE rn = 1 ;

此sql代表按照字段x进行分组,按照字段y倒序排序,取每个分组中的第一条数据。

其中 partition by 是指的是要进行分组的字段。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。