过滤掉多余的重复记录的SQL语句
2011-08-31 12:06
260 查看
表中取出的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
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
相关文章推荐
- Oracle 删除重复数据只留一条 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 wher
- 删除Mysql数据表中多余的重复记录的sql语句
- SQL过滤、删除、表中重复记录语句
- SQL语句-统计全部数据,过滤掉其中两个字段同时重复的记录
- SQL语句-统计全部数据,过滤掉其中两个字段同时重复的记录
- Oracle 删除重复数据只留一条 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 wher
- 使用一条SQL语句删除表中重复记录
- 如何使用Oracle查询并删除重复记录的SQL语句
- 使用SQL语句去掉重复的记录【两种方法】
- SQL操作语句之查询及删除重复记录的方法
- sql语句删除重复的记录的方法
- 使用一条SQL语句删除表中重复记录
- 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢?
- (小笔记)(sql)查找重复记录,并删除多余记录
- 删除数据库中重复记录的SQL语句
- SQL重复记录处理(查找,过滤,删除)
- 查询并删除重复记录的SQL语句
- 四种方法教你如何用SQL语句删除重复记录
- 几个删除重复记录的SQL语句
- 用SQL语句删除重复记录的四种方法