新建
上传
首页
助手
最?/div>
资料?/div>
工具

 

 

 

 

?/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>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ͼλ
新建
上传
首页
助手
最?/div>
资料?/div>
工具

 

 

 

 

?/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>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

">
新建
上传
首页
助手
最?/div>
资料?/div>
工具

 

 

 

 

?/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>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ͼλ">
Ͼλ
Ŀ

sql删除重复数据只保留一?- 百度文库
新建
上传
首页
助手
最?/div>
资料?/div>
工具

 

 

 

 

?/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>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



ļ׺.doc޸Ϊ.docĶ

  • Ŵ2019
  • ﰲȫ֪ʶѵ
  • ֲʩ֤ʩ
  • MATLAB˫Ƶϵͳķ
  • (ĵ)֮ʶСһ꼶ʶֽѧ̸
  • ۶ི
  • 2019˽̰꼶ϲ߰˵Ԫ
  • ڿϰ
  • ¼

վ

԰ Ͼλ
ϵͷ779662525#qq.com(#滻Ϊ@)