Oracle去掉重复数据

原创 2016年05月30日 17:23:36

查询中经常会遇到需要过滤掉重复数据的情况,或者需要获取某个ID下的最新一条记录。

特别是做过水利项目的朋友,如获取站点的实时水位数据,则需要进行数据去重的方法。

以下是项目中用到的sql,分享给有需要的朋友。谢谢。


--数据正常查询,重复数据过多
--如下所示为常用水位数据表,经常需要仅获取每个站点的最新一条记录
select stcd,tm,upz from st_was_r where tm between to_date('2016-04-01 08:00:00','yyyy-MM-dd HH24:MI:SS') and to_date('2016-04-02 08:00:00','yyyy-MM-dd HH24:MI:SS') order by stcd ,tm desc;

未去重数据:



去重数据。

--可利用row_number和over进行数据的过滤 ,查询条件一样 

select * from (
       select stcd,tm,upz,row_number() over( partition by stcd  order by tm desc) as rn  from  st_was_r 
        where tm between to_date('2016-04-01 08:00:00','yyyy-MM-dd HH24:MI:SS') and to_date('2016-04-02 08:00:00','yyyy-MM-dd HH24:MI:SS') ) t 
where t.rn=1  

相关文章推荐

Oracle重复数据清理

  • 2015年08月23日 10:53
  • 15KB
  • 下载

ORACLE删除重复数据

  • 2012年12月29日 17:00
  • 28KB
  • 下载

Oracle删除重复记录只保留一条数据的几种方法

Oracle删除重复记录只保留一条数据的几种方法 1. 问题描述 BBSCOMMENT表为BBSDETAIL的从表,记录商户评价信息。因为数据倒腾来倒腾去的,有很多重复数据。表结构如下: C...
  • haiross
  • haiross
  • 2014年08月12日 11:53
  • 20376

oracle删除重复数据方法

  • 2015年07月02日 11:43
  • 16KB
  • 下载

oracle查询重复数据方法

SQL重复记录查询方法 2008年08月14日 星期四 21:01 SQL重复记录查询 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 sel...

oracle 查询重复数据

  • 2012年01月08日 15:41
  • 112B
  • 下载

oracle 删除去掉重复项

  • 2012年02月24日 14:42
  • 2KB
  • 下载

oracle去重复数据的处理方法

1。DISTINCT 方法就不必说了,大家都清楚。(主要是我用不上,用了下面的方法) 2。通过查询方法来取得不重复数据 -- 根据去重复的字段来查询数据的第一个ID进行匹配 select...

转帖 oracle删除重复数据的方法

比如现在有一人员表 (表名:peosons)若想将姓名、身份证号、住址这三个字段完全相同的记录查询出来 select p1.*   from persons  p1,persons  p2   whe...
  • kimifdw
  • kimifdw
  • 2011年06月07日 12:59
  • 504
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle去掉重复数据
举报原因:
原因补充:

(最多只允许输入30个字)