数据库中某字段存在相同数据,怎么删除第一条记录;

注意删除第一条记录:表存在字段name有相同数据,删除第一条数据,让其表不在重复?... 注意删除第一条记录:
表存在字段name有相同数据,删除第一条数据,让其表不在重复?
展开
 我来答
tjrmgs
2018-12-04 · TA获得超过5765个赞
知道大有可为答主
回答量:2161
采纳率:94%
帮助的人:1037万
展开全部
单纯用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列有重复的记录,对于有重复的记录只保留最新的那一条记录,让该表不再有重复:
追答
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的不让添加那
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式