sql如何查出数据表重复的数据,删除其中一条的sql怎么写
这有一张表table1表中数据如下f_periodf_wh_nof_ord_nof_item_nof_col_no20140182bb201401812320140181...
这有一张表 table1 表中数据如下
f_period f_wh_no f_ord_no f_item_no f_col_ no
2014 018 2 b b
2014 018 1 2 3
2014 018 1 2 3
2014 018 1 2 a
2014 018 1 2 a
图片中是我加条件的查出来的几条数据,里面有完全相同的两条数据,也有不重复的,
查出有重复的sql语句怎么写
删除重复的其中一条的sql语句怎么写 展开
f_period f_wh_no f_ord_no f_item_no f_col_ no
2014 018 2 b b
2014 018 1 2 3
2014 018 1 2 3
2014 018 1 2 a
2014 018 1 2 a
图片中是我加条件的查出来的几条数据,里面有完全相同的两条数据,也有不重复的,
查出有重复的sql语句怎么写
删除重复的其中一条的sql语句怎么写 展开
2个回答
推荐于2017-12-16 · 知道合伙人软件行家
Axure夜话
知道合伙人软件行家
向TA提问 私信TA
知道合伙人软件行家
采纳数:1197
获赞数:1344
1992年毕业于太原理工大学,20年IT公司工作经验现任山西誉海和科技有限公司技术总监,老二牛车教育课程总监
向TA提问 私信TA
关注
展开全部
修正现在的表添加一个唯一的标识
先按条件分组,统计两个关键的内容
数量:大于1的时需要删除的
max或min的标识: 用于删除得行标识
delete from 表where id in(
slect id ,count(*) ,max(id) from 表 groupby id
having count(*)>1
)
如果有大于2的重复记录,需要在写循环删除
先按条件分组,统计两个关键的内容
数量:大于1的时需要删除的
max或min的标识: 用于删除得行标识
delete from 表where id in(
slect id ,count(*) ,max(id) from 表 groupby id
having count(*)>1
)
如果有大于2的重复记录,需要在写循环删除
更多追问追答
追问
要是有不一样的字段,当然好删除了,关键是所有字段都是一样的
追答
所以说先让构造出一个id字段,然后再处理
如果不能创建id字段,自己建立一个临时表,把数据放到加id的临时表,处理完再把数据放到原来的标
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询