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

2023年 8月 12日 67.1k 0

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

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

      场景

      想要获取下列sql的数据的第一条

      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 是指的是要进行分组的字段。

      总结

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

      相关文章

      Oracle如何使用授予和撤销权限的语法和示例
      Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
      下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
      社区版oceanbase安装
      Oracle 导出CSV工具-sqluldr2
      ETL数据集成丨快速将MySQL数据迁移至Doris数据库

      发布评论