
正文
oracle过滤所有数据最大日期,oracle过滤重复数据
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
oracle查询月份日数最大的日
想法:先安月分组,在安日期从大到小排序,最后把每月第一条取出。
在数据量比较大的时候效率不一样,但在数据量比较少的时候效率是一样的。
如要直接取他们中的最大日期,则用内置函数greatest(A,B,C),这里A、B、C都是date类型的数据。 如果要在分组数据中取,则用组函数max(date_col)。
也就是说最终结果每个id只有一行数据。那就用 select * from table where id||日期=(select id||max(日期) from table group by id)分开写也可以。
相关问答
Q1: oracle中选择时间最大的记录
在数据量比较大的时候效率不一样,但在数据量比较少的时候效率是一样的。
select * from (select row_number() over(partition by id order by time desc) rn, a.* from table a) where rn = 1以上。
如要直接取他们中的最大日期,则用内置函数greatest(A,B,C),这里A、B、C都是date类型的数据。 如果要在分组数据中取,则用组函数max(date_col)。
Q2: oracle,抽取最大日期
第一种使用IN,在IN里面使用子查询查出最大日期,然后再把表的日期和查出的最大日期做等于。
exists后面接的是一个子查询如下图。以下图两个表为示例,来演示 a表中的id 与b表中的aid相关联。exists的作用是检查子查询的结果是否为真,如果子查询为true则执行外面的SQL语句。
select * from (select row_number() over(partition by id order by time desc) rn, a.* from table a) where rn = 1 以上。
oracle过滤所有数据最大日期的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle过滤重复数据、oracle过滤所有数据最大日期的信息别忘了在本站进行查找喔。







