Oracle中实现分组后按时间排序取第一条

您所在的位置:网站首页 sql倒序排列取第一条 Oracle中实现分组后按时间排序取第一条

Oracle中实现分组后按时间排序取第一条

2024-07-04 06:35| 来源: 网络整理| 查看: 265

一、实现效果

①原表效果:存在重复的编号(PARTNER_ID)内容,访问时间(VISIT_DATE)不同

 

②分组排序后取第一条的效果:【实现对编号去重,且取访问时间最新的一条数据】

二、sql语句 2.1、基础语句 select t.* from (select a.*, row_number() over(partition by 需要分组的字段 order by 排序的字段 desc) rn from 表 a) t where t.rn = 1 2.2、实现语句

【实现对编号去重,且取访问时间最新的一条数据】的sql语句如下:

SELECT * FROM( SELECT ROW_NUMBER()over(PARTITION by PARTNER_ID ORDER BY VISIT_DATE DESC) as RN,VI.PARTNER_ID,VI.VISIT_DATE FROM VISIT_INFO VI ) dual WHERE RN=1 三、参考资料

①分组函数 partition by 的详解,与order by 区别

②高级统计(数据报表利器)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3