?/p>
sql
语句,删除掉重复项只保留一?/p>
在几千条记录里,存在着些相同的记录,如何能?/p>
sql
语句,删除掉重复的呢
1
、查找表中多余的重复记录,重复记录是根据单个字段
(peopleid)
来判?/p>
select * from people
where
peopleid
in
(select
peopleid
from
people
group
by
peopleid
having
count(peopleid)
> 1)
2
?/p>
删除表中多余的重复记录,
重复记录是根据单个字?/p>
(peopleid)
来判断,
只留?/p>
rowid
最小的记录
delete from people
where
peoplename
in
(select
peoplename
from
people
group
by
peoplename
having
count(peoplename) > 1)
and
peopleid
not
in
(select
min(peopleid)
from
people
group
by
peoplename
having
count(peoplename)>1)
3
、查找表中多余的重复记录
(
多个字段
)
select * from vitae a
where
(a.peopleid,a.seq)
in
(select
peopleid,seq
from
vitae
group
by
peopleid,seq
having
count(*) > 1)
4
、删除表中多余的重复记录
(
多个字段
)
,只留有
rowid
最小的记录
delete from vitae a
where
(a.peopleid,a.seq)
in
(select
peopleid,seq
from
vitae
group
by
peopleid,seq
having
count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleid,seq having count(*)>1)
5
、查找表中多余的重复记录
(
多个字段
)
,不包含
rowid
最小的记录
select * from vitae a
where
(a.peopleid,a.seq)
in
(select
peopleid,seq
from
vitae
group
by
peopleid,seq
having
count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleid,seq having count(*)>1)
6.
消除一个字段的左边的第一位:
update tablename set [title]=right([title],(len([title])-1)) where title like '
?/p>
%'
7.
消除一个字段的右边的第一位:
update tablename set [title]=left([title],(len([title])-1)) where title like '%
?/p>
'
8.
假删除表中多余的重复记录
(
多个字段
)
,不包含
rowid
最小的记录
update vitae set ispass=-1
where peopleid in (select peopleid from vitae group by peopleid
alter
table
mytable
drop
index
mdl_tag_use_ix;//mdl_tag_use_ix
是上表查出的索引名,
key_name
更多信息请查?/p>
IT
技术专?/p>