SQL数据库删除重复行保留一条记录,怎么写??谢谢哦
user_namepasswordagelaoA00000018laoA00000018laoA00000018laoB11111119laoB11111119laoB1...
user_name password age
laoA 000000 18
laoA 000000 18
laoA 000000 18
laoB 111111 19
laoB 111111 19
laoB 111111 19
我想删除的只要两条记录 展开
laoA 000000 18
laoA 000000 18
laoA 000000 18
laoB 111111 19
laoB 111111 19
laoB 111111 19
我想删除的只要两条记录 展开
4个回答
展开全部
sql语句:
delete from t_user_point where user_point_id not in (select max(user_point_id) from t_user_point group by user_id);
not in的效率可能会低些,但因为是直接操作数据库,所以这并不重要.这个句子还是非常的简单有效的.
而删重复数据前,可以先查一下多余数据的情况:
select count(user_point_id),user_id from t_user_point group by user_id;
delete from t_user_point where user_point_id not in (select max(user_point_id) from t_user_point group by user_id);
not in的效率可能会低些,但因为是直接操作数据库,所以这并不重要.这个句子还是非常的简单有效的.
而删重复数据前,可以先查一下多余数据的情况:
select count(user_point_id),user_id from t_user_point group by user_id;
追问
你再看看,写个完整的~~~
delete from MyTable
where users_id not in
(
select min(users_id)from MyTable
group by user_name ,password,age
)
展开全部
直接select distinct into到另外新的一张表里然后drop掉本张表就ok了
追问
呵呵,如果这个表有外键关联呢,全部删除~~~???外键关联的信息~~
追答
如果有外键关联只能老实点了 我只是给出解决你提出问题的最简单办法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
查出所有不重复记录重新建个表
create table tablename1
as
select distinct * from tablename
truncate掉原来表,把数据导回去。
create table tablename1
as
select distinct * from tablename
truncate掉原来表,把数据导回去。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
group by? 你去查查手册用法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询