数据库中某字段存在相同数据,怎么删除第一条记录;
2个回答
展开全部
单纯用SQL语句,我们可以利用自增ID列来删除有重复的第一条记录,如果数据表不含自增ID列那么就得依靠游标或应用程序端编程来解决了,因为数据库引擎搞不清楚究竟那一条记录是第一条。
下面是利用自增ID列删除t1表a列有重复的第一条记录的SQL语句示例:
delete from t1 where id in (
select min(id) from t1 group by a
having count(1)>1);
需要说明一下,删除有重复的记录中的第一条记录在逻辑上并不能保证数据表不再存在重复,因为,因为重复记录可以有无限多条而不仅仅是只有两条重复一种情况。
下面语句可以删除t1表中a列有重复的记录,对于有重复的记录只保留最新的那一条记录,让该表不再有重复:
下面是利用自增ID列删除t1表a列有重复的第一条记录的SQL语句示例:
delete from t1 where id in (
select min(id) from t1 group by a
having count(1)>1);
需要说明一下,删除有重复的记录中的第一条记录在逻辑上并不能保证数据表不再存在重复,因为,因为重复记录可以有无限多条而不仅仅是只有两条重复一种情况。
下面语句可以删除t1表中a列有重复的记录,对于有重复的记录只保留最新的那一条记录,让该表不再有重复:
追答
delete from t1 a where exists
(select 1 from (select a,
max(id) as maxId from t1 group by a having count(1)>1) b where
b.a=a.a and b.maxIda.id);
2018-12-04
展开全部
1、name相同,删除的数据不存在其他字段不同吗?
2、删除第一条记录没有条件排序吗?是任意删除一条吗
3、增加的时候是不是可以做个验证,存在此name的不让添加那
2、删除第一条记录没有条件排序吗?是任意删除一条吗
3、增加的时候是不是可以做个验证,存在此name的不让添加那
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询