oracle数据库排序后如何获取第一条数据
怪 咖@ 人气:0oracle排序后如何获取第一条数据
场景
想要获取下列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 是指的是要进行分组的字段。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
加载全部内容