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

537 查看

数据如下:

    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)