zoukankan      html  css  js  c++  java
  • 过滤掉多余的重复记录的SQL语句

    表中取出的fw_id有可能有重复的,结果可能如下

    fw_id,      file_title       

    14             关于组织征集安全生产“千项”新型实用产品的通知                                                          
    6               关于加强上海市安全生产专家管理的补充通知
    18             关于什么什么的通知
    18             关于什么什么的通知                  
    18             关于什么什么的通知
    7               关于对《上海市国民经济和社会发展地十二个五年规划纲要草案(征求意见稿)》修改建议
    1               关于提请对上海市安全生产技术支撑体系专业中心市级实验室项目进行审计的函

     现在需要将fw_id=18的记录只保留一条,重复记录只保留第一条就可以了,摸索了半天,最终方法如下:

     

    with x as (

    select a.*,
    (select flow_name from flow where flow_id=a.flow_id) as flow_name
    from AM_Fawen a,am_subproject3 b,am_projectlist c,taskcenter d,userlist u
    where a.sp3_id=b.sp3_id
                            and b.sp3_id=c.pl_subprojectid
                            and b.sp3_tablename=c.pl_subprojecttable
                            and c.project_id=d.project_id
                            and ','+cast(u.id as varchar)+',' like d.handlers_assigned
                            and d.status=0 and b.sp3_projectname like '%%'
                          and fun_name like '%%'
    )
    ,
    y as (
    select *,count(fw_id) over (partition by fw_id) r,row_number() over (partition by fw_id order by fw_id) rno from x
    )   
    select * from y where rno=1

  • 相关阅读:
    工作的价值
    面对伤害该不该回击
    建议
    利用私有的API获得手机上所安装的所有应用信息(包括版本,名称,bundleID,类型)
    你必须知道的HTTP错误
    静态库制作
    MDM证书申请的流程
    IOS客户端实现RSA加密
    获得appstore里面app的最新的版本信息,进行版本更新
    C语言实现简单php自定义扩展
  • 原文地址:https://www.cnblogs.com/yuanxiaoping_21cn_com/p/2160579.html
Copyright © 2011-2022 走看看