一个过滤重复数据的 SQL 语句

数据如下:

303 标准类别 TR_STANDARD_MANAGER
    107 巡视记录类别 TR_PATROL_LOG
    61 巡视记录类别 TR_PATROL_LOG
    221 检修类型 TR_REPAIR_LOG
    121 检修管理计划类别 TR_REPAIR_PLAN
    141 检修管理计划类别 TR_REPAIR_PLAN
    24 器材管理类别 TR_PATROL_PLAN_1
    105 巡视计划类别 TR_PATROL_PLAN
    108 检修管理计划类别 TR_REPAIR_PLAN
    109 检修类型 TR_REPAIR_LOG
    1 巡视计划类别 TR_PATROL_PLAN
    2 巡视记录类别 TR_PATROL_LOG
    26 器材管理类别 TR_PATROL_PLAN_1
    142 检修类型 TR_REPAIR_LOG
    145 事故类型 TR_ACCIDENT
    144 事故类型 TR_ACCIDENT
    261 巡视计划类别 TR_PATROL_PLAN
    147 负荷类型 TR_BURTHEN
    262 巡视计划类别 TR_PATROL_PLAN
    265 巡视计划类别 TR_PATROL_PLAN
    267 检修管理计划类别 TR_REPAIR_PLAN
    268 检修管理计划类别 TR_REPAIR_PLAN
    269 事故类型 TR_ACCIDENT
    146 事故类型 TR_ACCIDENT
    283 标准类别 TR_STANDARD_MANAGER
    263 巡视计划类别 TR_PATROL_PLAN
    5 资料类别 TR_EQUP_ATT_INFO
    266 检修管理计划类别 TR_REPAIR_PLAN
    281 资料类别 TR_EQUP_ATT_INFO

//////////////////////////////////////////

需要取得不重复的类别名称和对应的主键id。

select  scop_name ,RUN_TYPE_ID from tr_type a where
     RUN_TYPE_ID=(SELECT MAX(RUN_TYPE_ID) FROM tr_type b where a.scop_name =b.scop_name)

(0)

相关推荐

  • sqlserver中重复数据值只取一条的sql语句

    复制代码 代码如下: --建立数据表createtable TestData ( ID int identity(1,1) primary key, Data int, ColA varchar(20), ColB varchar(20) ) go --插入测试数据 declare @counts int declare @i int set @counts = 10000 set @i = 1 while @i<=@counts begin insert TestData (Data,ColA

  • 删除数据库中重复数据的几个方法

    方法一 declare @max integer,@id integer declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) > 1 open cur_rows fetch cur_rows into @id,@max while @@fetch_status=0 begin select @max = @max -1 set rowcount @max delete

  • SQL Server中删除重复数据的几个方法

    方法一 复制代码 代码如下: declare @max integer,@id integer declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) > 1 open cur_rows fetch cur_rows into @id,@max while @@fetch_status=0 begin select @max = @max -1 set rowcount

  • sql删除重复数据的详细方法

    一. 删除完全重复的记录 完全重复的数据,通常是由于没有设置主键/唯一键约束导致的.测试数据: 复制代码 代码如下: if OBJECT_ID('duplicate_all') is not nulldrop table duplicate_all GO create table duplicate_all ( c1 int, c2 int, c3 varchar(100) ) GO insert into duplicate_all select 1,100,'aaa' union allse

  • 删除重复数据的算法

    在工作中碰到这么一个问题:给定一个已经排序的数组(升序),删除数组中重复的数据,但是只能使用一个数组,这个数组的大小可以变化. 例子:  数组:[1,1,2,2,3,3,4,5,7,10]       输出::[1,2,3,4,5,7,10] 实现(1): var arr =new Array(1,1,2,2,3,3,4,5,7,10); var len = arr.length; for(var i=len-1;i>=1;i--) {         if(arr[i-1] == arr[i]

  • 教你几种在SQLServer中删除重复数据方法

    方法一 复制代码 代码如下: declare @max integer,@id integer declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) > 1 open cur_rows fetch cur_rows into @id,@max while @@fetch_status=0 begin select @max = @max -1 set rowcount

  • SQL语句删除2条重复数据一条保留一条

    -- 任意的测试表 复制代码 代码如下: CREATE TABLE test_delete( name varchar(10), value INT ); go -- 张三100 与 王五80 是有重复的 INSERT INTO test_delete SELECT '张三', 100 UNION ALL SELECT '张三', 100 UNION ALL SELECT '李四', 80 UNION ALL SELECT '王五', 80 UNION ALL SELECT '王五', 80 U

  • sqlserver合并DataTable并排除重复数据的通用方法分享

    代码如下: 复制代码 代码如下: ///<summary> /// 将两个列不同的DataTable合并成一个新的DataTable ///</summary> ///<param name="dt1">源表</param> ///<param name="dt2">需要合并的表</param> ///<param name="primaryKey">需要排重列表

  • 一个过滤重复数据的 SQL 语句

    数据如下: 303 标准类别 TR_STANDARD_MANAGER     107 巡视记录类别 TR_PATROL_LOG     61 巡视记录类别 TR_PATROL_LOG     221 检修类型 TR_REPAIR_LOG     121 检修管理计划类别 TR_REPAIR_PLAN     141 检修管理计划类别 TR_REPAIR_PLAN     24 器材管理类别 TR_PATROL_PLAN_1     105 巡视计划类别 TR_PATROL_PLAN     10

  • MySQL根据某一个或者多个字段查找重复数据的sql语句

    sql 查出一张表中重复的所有记录数据 1.表中有id和name 两个字段,查询出name重复的所有数据 select * from xi a where (a.username) in (select username from xi group by username having count(*) > 1) 2.查询出所有数据进行分组之后,和重复数据的重复次数的查询数据,先列下: select count(username) as '重复次数',username from xi group

  • MySQL过滤重复数据的两种方法示例

    目录 方法1:加关键字 DISTINCT 方法2:用GROUP By 分组 最后 方法1:加关键字 DISTINCT 在mysql中,可以利用“SELECT”语句和“DISTINCT”关键字来进行去重查询,过滤掉重复的数据,语法“SELECT DISTINCT 字段名 FROM 数据表名;”. DISTINCT 关键字的语法格式为: SELECT DISTINCT <字段名> FROM <表名>; 其中,“字段名”为需要消除重复记录的字段名称,多个字段时用逗号隔开. 示例 -- 示

  • 复制数据库表中两个字段数据的SQL语句

    复制数据库表中两个字段数据的SQL语句 今天为表新添加一个字段,但又想与表中的另一个字段值相同,由于数据过多想通过sql语句实现,经测试下面的这句话确实很好用. 复制代码 代码如下: update jb51_temp set B=A jb51_temp 代表表明 A是有数值的字段,B是新添加的字段 ,记住空值表放到前面,如果set a=b,那么你的数值都为空了,就麻烦了,建议操作前备份数据库. 如何将一个字段里的值复制添加到另一个字段中 比如,有二个字段A和B,A字段是值是"我",B字

  • java8新特性将List中按指定属性排序过滤重复数据的方法

    在java中常常会遇到这样一个问题,在实际应用中,总会碰到对List排序并过滤重复的问题,如果List中放的只是简单的String类型过滤so easy,但是实际应用中并不会这么easy,往往List中放的是一个类,类中有多个属性,要过滤重复数据,而且这个重复数据要按自己指定的属性过滤,但是要想按照其它属性排序顺序过滤,所以要先排序一下,然后按照某个属性过滤. 实体类如下所示,大家只要创建下面的实体类,无需继承父类,大家不会注解式风格的话,请自行加上getter/setter方法. 首先看看gr

  • PGSQL查询最近N天的数据及SQL语句实现替换字段内容

    目录 1.用SQL查询最近N天的数据 2.用SQL语句实现替换字段里的内容 3.SQL将查询结果赋值 4.SQL查询字段内容为 NULL值时候赋值 总结 1.用SQL查询最近N天的数据 思路:先获取当前的时间,然后更具当前时间去减去对应的天数,就可以得到需要的天数了.然后用这些天数作为条件,然后即可查询出需要多少天的数据了. -- 获取当前时间 SELECT CURRENT_TIMESTAMP; -- 或 SELECT now(); select CURRENT_TIMESTAMP :: DAT

  • Oracle中简单查询、限定查询、数据排序SQL语句范例和详细注解

    一.简单查询 SQL(Structured Query Language) 结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统.ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言. Oracle数据库之所以发展的很好,主要也是因为Oracle是全世界最早采用SQL语句的数据库产品. SQL功能强大,概括起来,它可以分成以下几组: 复制代码 代码如下: DML(Data Manipulation Language) 数据操作语言,用于

  • sqlserver利用存储过程去除重复行的sql语句

    还是先上代码吧 ,可以先看 SQL语句去掉重复记录,获取重复记录 复制代码 代码如下: ALTER procedure [dbo].[PROC_ITEMMASTER_GETUNIQUE] @PAGEINDEX INT,@uid int,@itemnumber varchar(50) AS begin tran --开始事务 drop table [ItemMaster].[dbo].[testim] --删除表 --把不重复记录转存到testim中 select * into [ItemMast

  • access mysql mssql 随机 10条数据的sql语句 原创

    access 随机 10条数据的方法 复制代码 代码如下: select * from table order by rnd(id) 其中rnd(id)中的id为表中的自增长字段access随机显示记录(不重复)解决方案 复制代码 代码如下: <% '-------------------------数据库连接----------------------- Set objConn = Server.CreateObject("ADODB.Connection") objConn.

  • 一个常用的报表统计SQL语句

    一般都给定按日期区间统计某一值,每一个列就是统计时的分类.如下图: 下面给出上图的例子的sql语句写法:(注:此处是按"日期"字段统计) 复制代码 代码如下: select 日期,自选字段1,自选字段2,sum(类型1) 类型1,sum(类型2) 类型2,sum(类型3) 类型3,sum(类型4) 类型4,sum(类型5) 类型5,sum(类型6) 类型6 from ( select to_date(to_char(日期,'yyyy-MM-dd'),'yyyy-mm-dd') 日期,自

随机推荐