sql中删除一个表中的重复记录可以采用如下步骤:
1、把a_dist表的记录用distinct去重,结果放到临时表中。
select distinct * into #temp from a_dist;
2、把a_dist表的记录全部删除。
delete from a_dist;
3、把临时表中的数据信息导进到a_dist表中,并删除临时表。
insert into a_distselect * from #temp;
drop table #temp;
(1)sql复制表去重扩展阅读:
SQL (结构化查询语言)是用于执行查询的语法。在数据库上执行的大部分工作都由 SQL 语句完成。SQL 语言包含用于更新、插入和删除记录的语法。
增删改查指令构成了 SQL 的 DML 部分:
SELECT- 从数据库表中获取数据
UPDATE- 更新数据库表中的数据
DELETE- 从数据库表中删除数据
INSERT INTO- 向数据库表中插入数据
2. sql insert into select where 复制表的对于重复的数据进行过滤
insertintodbo.Person(姓名,年龄)
selectdistinct姓名,年龄
fromdbo.Student
wherenotexist(select1fromPersonwhereStudent.姓名=Person.姓名andStuent.年龄=Person.年龄)
3. sql 多表查询如何去重
select结果集1
union
select结果集2
如果单纯怕两个结果集重复,用union连接即可,但是你一个叫销售XX,一个叫采购XX不影响吗?
4. SQL如何去重
1、首先创建一个临时表,用于演示sqlserver语法中的去重关键字distinct的使用。本文以sqlserver数据库为例演示,
IF OBJECT_ID('tempdb..#tmp1') IS NOT NULL DROP TABLE #tmp1;
CREATE TABLE #tmp1(
Col1 varchar(50),
Col2 int
);
5. 用一个sql语句复制表中的所有行插入到表的后面(主键自增),在用一句sql语句删除重复的行
例如表:student(id,name,sex.age),id主键自增
把表中纪录复制再插入到这个表后面
insert
into
student
select
name,sex,age
from
student;
原则,除自增列外的所有列都要写出,注意查询字段的顺序和表对应,要不如下:
insert
into
student(sex,name,age)
select
sex,name,age
from
student;
查询字段和插入字段对应
删除重复的行
delete
from
student
where
id
in
(select
a.id
id
from
student
a,student
b
where
a.name=b.name
and
a.sex
=
b.sex
and
a.age=b.age
and
a.id<>b.id)
其中查询语句为查出所有重复纪录的id
select
a.id
id
from
student
a,student
b
where
a.name=b.name
and
a.sex
=
b.sex
and
a.age=b.age
and
a.id<>b.id
原则除主建外所有字段都要相等
and
a.id<>b.id
,这个不加就会把正个表的数据算重复
因为a和b都是student表,自己和自己比当然什么都一样,
and
a.id<>b.id
就是和自己外的其他纪录比
运行了,sql
server2000的数据库,没有问题
你什么库
6. sql语句如何把一个表中的数据去重创个新表
用distinct去重,然后使用如下语法创建:
create table xxx as select distinct * from xxx
这样就在新表中保存了旧表中去重后的数据
7. 对SQL数据库中的表去重,查询出的的结果放在临时表里,如何把这个临时表替换原先数据库未处理过的表
去重的操作,
一般就在服务器那里,执行语句就好了,
别全部都取到客户端,
然后在插入回服务器,太花费时间了.
如果在服务器那里做,就是
select
distinct
*
INTO
临时表
from
事业表;
truncate
table
事业表;
INSERT
INTO
事业表
SELECT
*
FROM
临时表;
DROP
TABLE
临时表;
8. sql2008如何从A数据库复制表M到B数据库N表中,M表与N表列一致,M表数据不覆盖N表数据,只做去重追加数据
你好
直接insert into select
啊
这是最基础的语法
祝你好运
9. sql语句去重
---你上面写的
deletex
fromAx
wherex.id>(selectmin(id)fromAywherex.A1=y.A1andx.A2=y.A2);
--方法一
deletey
fromAy
wherey.idnotin
(
selectmin(id)id
fromA
groupbyA1,A2
)x
--方法二
--第一步
selectmin(id)id,A1,A2
into#aa
fromA
groupbyA1,A2
--第二步
truncatetableA
--第三步
insertintoA
select*
from#aa
droptable#aa
10. sql去重是什么意思
SQL中,DISTINCT关键词表示去掉重复的行。
SELECT DISTINCT表示查询结果中,去掉了重复的行。在数据库表中,数据可能会包含重复值。有时用户希望仅仅列出不同(distinct)的值。可通过关键词DISTINCT用于返回唯一不同的值。如果要从 "Company" 列中选取所有的值,使用 SELECT 语句:SELECT Company FROM Orders。
(10)sql复制表去重扩展阅读:
如果指定了SELECT DISTINCT,那么ORDER BY子句中的项就必须出现在选择列表中,否则会出现错误。
比如SQL语句:SELECT DISTINCT Company FROM Orders order by Company ASC是可以正常执行的。
但是如果SQL语句是:SELECT DISTINCT Company FROM Orders order by Num ASC是不能正确执行的,在ASP中会提示“ORDER BY子句与(Num) DISTINCT冲突”错误。
SQL语句修改成:SELECT DISTINCT Company,Num FROM Orders order by Num ASC可以正常执行。