我是靠谱客的博主 健壮大树,最近开发中收集的这篇文章主要介绍oracle相同数据取第一条,oracle去除重复, 获取取最新的第一条数据,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近项目中的一条sql语句涉及到取一个表中相同工单编码中最新的一条数据,在网上看到一函数完美解决此问题,如下是内容要点:

问题:在项目中有一张设备检测信息表DEVICE_INFO_TBL, 每个设备每天都会产生一条检测信息,现在需要从该表中检索出每个设备的最新检测信息。也就是device_id字段不能重复,消除device_id字段重复的记录,而且device_id对应的检测信息test_result是最新的。

解决思路:用Oracle的row_number() over函数来解决该问题。

解决过程:

1.查看表中的重复记录

select

t.id,

t.device_id,

t.update_dtm,

t.test_result

from DEVICE_INFO_TBL t

03aeaef4f4b83ed46515650ad9a35183.png

2.标记重复的记录

select

t.id,

t.device_id,

t.update_dtm,

t.test_result,

row_number() OVER(PARTITION BY device_id ORDER BY t.update_dtm desc) as row_flg

from DEVICE_INFO_TBL t

最后

以上就是健壮大树为你收集整理的oracle相同数据取第一条,oracle去除重复, 获取取最新的第一条数据的全部内容,希望文章能够帮你解决oracle相同数据取第一条,oracle去除重复, 获取取最新的第一条数据所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部