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

数据如下:

    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) 

时间: 2024-10-23 10:20:30

一个过滤重复数据的 SQL 语句_MsSql的相关文章

一个过滤重复数据的 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

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

还是先上代码吧 ,可以先看 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

跨服务器查询导入数据的sql语句_MsSql

insert into MICS_WorkPlan_RestDays select * from OPENROWSET('SQLOLEDB', 'SERVER=192.168.2.97;uid=用户名;pwd=密码;Database=数据库','select * from v_restdays(sql语句,可执行存储过程)') as a 此语句可用来将另一服务器中的数据插入到本数据库中的某一表内

mysql删除重复数据记录sql语句总结

我最常用的方法是  代码如下 复制代码 //删除id重复的数据,适合id是手工主键 delete person as a from person as a, (     select *,min(id) from person group by id having count(1) > 1 ) as b where a.id = b.id //查找重复的,并且除掉最小的那个  代码如下 复制代码 delete tb_person as a from tb_person as a, ( selec

sql高级技巧几个有用的Sql语句_MsSql

1.例如:有两个表A(字段1,字段2,字段3).B(字段2,字段3),其中存储数据如下所示表A 字段1 字段2 字段3 1 <Null> 地段内容1 1 <Null> 地段内容1 2 <Null> 地段内容2 2 <Null> 地段内容2 3 <Null> 地段内容3 4 <Null> 地段内容4 5 <Null> 地段内容5 5 <Null> 地段内容5 5 <Null> 地段内容5 6 <

精妙的SQL语句_MsSql

说明:复制表(只复制结构,源表名:a 新表名:b) select * into b from a where 1<>1 说明:拷贝表(拷贝数据,源表名:a 目标表名:b)insert into b(a, b, c) select d,e,f from b; 说明:显示文章.提交人和最后回复时间select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.t

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

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

sqlserver 1 n-sqlserver 两个表关联1:n求随机取一条数据的sql语句实现!

问题描述 sqlserver 两个表关联1:n求随机取一条数据的sql语句实现! 现在要补齐tb1中演唱歌曲字段.条件是去tb2中查找相同艺人演唱过的歌曲,随机填充到tb1中的歌曲名字段 一个歌手不止演唱一首歌,所以tb2中是艺人演唱所有歌曲的集合.tb1中同一个歌手可能出现好几次 补齐时候需根据tb1中艺人名称去tb2也就是艺人歌曲汇总表中查找相同艺人演唱的歌曲名称. 需要在艺人名相同情况下随机取tb2中演唱歌曲名去一一补齐tb1中的字段 tb1 tb1 艺人 演唱歌曲名 a null b n

查询及删除重复记录的SQL语句

查询及删除重复记录的sql语句 (一) 比方说 在a表中存在一个字段"name", 而且不同记录之间的"name"值有可能会相同, 现在就是需要查询出在该表中的各记录之间,"name"值存在重复的项: select name,count(*) from a group by name having count(*) > 1 如果还查性别也相同大则如下: select name,sex,count(*) from a group by nam