一般一个表的id是唯一的,如果除去id则会有重复数据,有时做项目时查询要求根据某几个字段去掉重复记录,并且查询保留id

以下是Oracel查询时根据部分字段去重复,例如,查询的字段包括id,Sys,Com,想要将Sys,Com两个字段重复的记录去掉,这要怎么做呢?

步骤一:

先取出去除重复后的记录,使用语句select distinct Sys,Com from Par_List_tb 得到一个表

步骤二:

使用语句select id,Sys,Com from Par_List_tb获得包括id,没有去重复的原表

步骤三:

将以上两个表做连接得到一个表

select id,Sys,Com from Par_List_tb lb right join (select distinct Sys,Com from Par_List_tb ) lb1 on lb.Sys=lb1.Sys and

lb.Com=lb1.Com

步骤四:

将表根据Sys,Com字段分区

select row_number() over(partition by lb2.Sys,lb2.Com order by lb2.Sys desc) rn,lb2.* from

(select id,Sys,Com from Par_List_tb lb right join (select distinct Sys,Com from Par_List_tb ) lb1 on lb.Sys=lb1.Sys and

lb.Com=lb1.Com)lb2

步骤五:取得每个分区中的第一条数据,得到表lb5

select * from

(select row_number() over(partition by lb2.Sys,lb2.Com order by t.Sys desc) rn,lb2.* from

(select id,Sys,Com from Par_List_tb lb right join (select distinct Sys,Com from Par_List_tb ) lb1 on lb.Sys=lb1.Sys and

lb.Com=lb1.Com)lb2)lb3 where lb3.rn=1

Oracel查询根据部分字段去重复的更多相关文章

  1. Mysql 查询多个字段去重复

    今天需要统计信息,但是有过个重复的数据,需要去除,找了如下方法: SELECT *, COUNT(DISTINCT phone ) FROM apply_info GROUP BY phone

  2. mysql 去除重复 Select中DISTINCT关键字的用法 在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是 distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,

      在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记 ...

  3. 转: sqlserver常用sql语句,更改字段,建立唯一键,多个字段去重复等

    [sql] view plain copy print?在CODE上查看代码片派生到我的代码片 --修改字段类型: --alter table 表名 alter column 待修改字段名 待修改字段 ...

  4. sqlserver常用sql语句,更改字段,建立唯一键,多个字段去重复等

    --修改字段类型: --alter table 表名 alter column 待修改字段名 待修改字段类型 alter table users alter column userid varchar ...

  5. C# List<T> 对于某个字段去重复

    gradeSubjectItem.teacher = teacherInfos.Where((x, i) => teacherInfos.FindIndex(z => z.guid == ...

  6. mysql 面试题 查询出表中某字段的重复值

    users 表中有 两个字段  id 和 name 表数据大概如下: id       name 1       AAA 2       BBB 3       CCC 4       AAA 请写查 ...

  7. mysql去重复关键字distinct的用法

    distinct的去重复的提前是表中所有列的数据完成相同时,才能把相同的数据只保留一条,并不是 distinct 列名,除去某一列相同的数据,并且 distinct要放在第一个列前面.案例如下:一个学 ...

  8. 关系数据库SQL之高级数据查询:去重复、组合查询、连接查询、虚拟表

    前言 接上一篇关系数据库SQL之基本数据查询:子查询.分组查询.模糊查询,主要是关系型数据库基本数据查询.包括子查询.分组查询.聚合函数查询.模糊查询,本文是介绍一下关系型数据库几种高级数据查询SQL ...

  9. distinct 去重复查询——两个表join 连接,去掉重复的数据

    ------distinct 去重复查询 select * from  accounts acc join (select distinct accid from roles) r on r.acci ...

随机推荐

  1. SpringMVC拦截器(资源和权限管理)

    1.DispatcherServlet SpringMVC具有统一的入口DispatcherServlet,所有的请求都通过DispatcherServlet.    DispatcherServle ...

  2. java 平面上最近两个点之间的距离

    public class ClosestPair{ public static void main(String[] args) { float[][] a = new float[][]{{3, 3 ...

  3. 一个在线jpg png转ICO的网站

    网站地址: https://lvwenhan.com/convertico/

  4. 以forin的方式遍历数组时进行删除操作的注意点

    今天在修改某项需求的时候,需要在遍历的时候将匹配项移除掉,采用的时forin的方式遍历,然后运行的时候却crash掉了 for (NSString*str in self.btnArray) { if ...

  5. java 事件处理机制:按下上下左右键控制小球的运动

    /** * 加深对事件处理机制的理解 * 通过上下左右键来控制一个小球的位置 */package com.test3;import java.awt.*;import javax.swing.*;im ...

  6. 搭建apache http服务器

    异步: http://blog.csdn.net/lzhlzz/article/details/39496285

  7. wxPython入门练习代码 一

    Bare.py: #1.导入必须的wxPython包 import wx #2.子类化wx应用程序类 class App(wx.App): #3.定义应用程序初始化方法 def OnInit(self ...

  8. IHttpHandler防止图片链接被盗用

    public class JpegHandler : IHttpHandler { public bool IsReusable { get { return true; } } public voi ...

  9. https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform

    https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform

  10. lucene中Field.Index,Field.Store详解

    lucene在doc.add(new Field("content",curArt.getContent(),Field.Store.NO,Field.Index.TOKENIZE ...