各位大侠如何删除ACCESS表中重复记录,数据如图片所示,需要的是SQL语句咯,在此先谢谢。

作者&投稿:亢庄 (若有异议请与网页底部的电邮联系)
请教各位大侠如何将Excel中的图表导入access,注意我说的是图表不是数据。~

选择图表,复制粘贴到ACCESS窗体设计视图。数据改变时,在ACCESS窗体设计视图选择图表右键/工作表对象/编辑,进入excel界面,选择存放数据的工作表,修改数据后保存。ACCESS 窗体视图显示修改后的图表。

应修改如下:
select 年, sum([第一季度]) as [第一季度合计], sum([第二季度]) as [第二季度合计],sum([第三季度]) as [第三季度合计], sum([第四季度]) as [第四季度合计], sum( 全年) as 全年合计
From
(SELECT year(u_time) as 年,iif(datepart('q',u_time)=1,1,0) as [第一季度], iif(datepart('q',u_time)=2,1,0) as [第二季度],iif(datepart('q',u_time)=3,1,0) as [第三季度], iif(datepart('q',u_time)=4,1,0) as [第四季度], 1 as 全年 from cust_infor)
group by 年;

以下就重复记录删除的问题作一阐述。

有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。
1、对于第一种重复,比较容易解决,使用
select distinct * from tableName
就可以得到无重复记录的结果集。
如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除

复制代码 代码如下:

select distinct * into #Tmp from tableName
drop table tableName
select * into tableName from #Tmp
drop table #Tmp

发生这种重复的原因是表设计不周产生的,增加唯一索引列即可解决。

2、这类重复问题通常要求保留重复记录中的第一条记录,操作方法如下
假设有重复的字段为Name,Address,要求得到这两个字段唯一的结果集

复制代码 代码如下:

select identity(int,1,1) as autoID, * into #Tmp from tableName
select min(autoID) as autoID into #Tmp2 from #Tmp group by Name,autoID
select * from #Tmp where autoID in(select autoID from #tmp2)

最后一个select即得到了Name,Address不重复的结果集(但多了一个autoID字段,实际写时可以写在select子句中省去此列)

此文章用了四种方法教你如何用SQL语句删除重复记录。
问题:怎样把具有相同字段的纪录删除,只留下一条。
例如:表test里有id,name字段,如果有name相同的记录只留下一条,其余的删除。name的内容不定,相同的记录数不定。
方案1:
1、将重复的记录记入temp1表:
select [标志字段id],count(*) into temp1 from [表名]
group by [标志字段id]
having count(*)>12、将不重复的记录记入temp1表:
insert temp1
select [标志字段id],count(*) from [表名]
group by [标志字段id]
having count(*)=13、作一个包含所有不重复记录的表:
select * into temp2 from [表名]
where 标志字段id in(select 标志字段id from temp1)4、删除重复表:delete [表名]
5、恢复表:
insert [表名]
select * from temp26、删除临时表:
drop table temp1
drop table temp2方案2:
declare @max integer,@id integer
declare cur_rows cursor local for
select id,count(*) from 表名 group by id having count(*) > 1
open cur_rows
fetch cur_rows into @id,@max
while @@fetch_status=0
begin
select @max = @max -1
set rowcount @max
delete from 表名 where id = @id
fetch cur_rows into @id,@max
end
close cur_rows
set rowcount 0注:set rowcount @max - 1 表示当前缓冲区只容纳@max-1条记录,如果有十条重复的,就删除
10条,一定会留一条的。也可以写成delete from 表名。
方案3:
create table a_dist(id int,name varchar(20))
insert into a_dist values(1,'abc')
insert into a_dist values(1,'abc')
insert into a_dist values(1,'abc')
insert into a_dist values(1,'abc')
exec up_distinct 'a_dist','id'
select * from a_dist
create procedure up_distinct(@t_name varchar(30)
,@f_key varchar(30))
--f_key表示是分组字段,即主键字段
as
begin
declare @max integer,@id varchar(30) ,
@sql varchar(7999) ,@type integer
select @sql = 'declare cur_rows cursor
for select '+@f_key+' ,count(*) from '
+@t_name +' group by ' +@f_key +' having count(*) > 1'
exec(@sql)
open cur_rows
fetch cur_rows into @id,@max
while @@fetch_status=0
begin
select @max = @max -1
set rowcount @max
select @type = xtype from syscolumns
where id=object_id(@t_name) and name=@f_key
if @type=56
select @sql = 'delete from '+@t_name+'
where ' + @f_key+' = '+ @id
if @type=167
select @sql = 'delete from '+@t_name+'
where ' + @f_key+' = '+''''+ @id +''''
exec(@sql)
fetch cur_rows into @id,@max
end
close cur_rows
deallocate cur_rows
set rowcount 0
end
select * from systypes
select * from syscolumns where
id = object_id('a_dist')方案4:
可以用IGNORE_DUP_KEY:
create table dup (id int identity not null,
name varchar(50)not null)
go
insert into dup(name) values ('abc')
insert into dup(name) values ('abc')
insert into dup(name) values ('abc')
insert into dup(name) values ('abc')
insert into dup(name) values ('abc')
insert into dup(name) values ('abc')
insert into dup(name) values ('abc')
insert into dup(name) values ('cdefg')
insert into dup(name) values ('xyz')
insert into dup(name) values ('xyz')
go
select *
from dup
go
create table tempdb..wk(id int not null,
name varchar(50)not null)
go
create unique index idx_remove_dup
on tempdb..wk(name)
with IGNORE_DUP_KEY
go
INSERT INTO tempdb..wk (id, name)
select id, name
from dup
go
select *
from tempdb..wk
go
delete from dup
go
set identity_insert dup on
INSERT INTO dup (id, name)
select id, name
from tempdb..wk
go
set identity_insert dup off
go
select *
from dup
go注:这里delete原表,再加入不重复的值。也可以通过join只delete原表中重复的值。
本文来源网页吧http://www.wangyeba.com


我不懂photoshop,哪位大侠教一教我
我不懂photoshop,哪位大侠教一教我  我来答 首页 在问 全部问题 娱乐休闲 游戏 旅游 教育培训 金融财经 医疗健康 科技 家电数码 政策法规 文化历史 时尚美容 情感心理 汽车 生活 职业 母婴 三农 互联网 生产制造 其他 日报 日报精选 日报广场 用户 认证用户 视频...

各位大侠,发下彼女の亲友,和亲友の彼女嘛。
vagaa:\/\/|file|[aknr] fset238 彼女の亲友とこっそりヤっちゃった仆 02.avi|1250781184|c4773d038f8264fd2ac0309a850f5f5e|\/

哪位大侠有此开关电源的电路原理图,谢谢了! 输入100-240输出24,1-1.3A...
此电源电路并不复杂,板上零件也完好,如需电路路自己按实物画出即可——前提是单元电路要熟悉、基本功够扎实。另外,电源管理芯片的型号是什么你还没说,按该芯片的型号去查它的典型应用电路,再和实物相比较往往会事半功倍。

高分求助各位大侠,电脑重装系统后很容易频繁死机再自动重启,硬件没有...
高分求助各位大侠,电脑重装系统后很容易频繁死机再自动重启,硬件没有问题。但主机电源通电后会自动开机 刚换的主板和显卡,安装的软件较多,系统时间无法修改,安装了时间保护器也不行。... 刚换的主板和显卡,安装的软件较多,系统时间无法修改,安装了时间保护器也不行。 展开  我来答 13个回答 #热议# 该...

路由连接不上,哪位大侠帮帮忙,日志如下
、你把你是怎么连接的过程说下吧 可能是你操作失误导致 先把猫和你的电脑连 IP自由获取 连上之后 把你刚才的电脑 猫 路由 一起连上 然后进路由进行设置 点连接 OK

各位大侠功放整流桥整流出来怎么正负不平衡啊是双组抽头的,AC35V两组...
先将整流输出小的负载线路切断,测量电压是否正常,不正常就是整流桥已经损坏,如果电压正常了,检查这一路供电线路,看看哪个电子元器件损坏了。

...重启过程中有时也经常关机,哪位大侠知道怎么弄啊?先谢了!_百度...
Windows XP 简体中文版(32位)补丁下载地址:http:\/\/www.microsoft.com\/downloads\/details.aspx?displaylang=zh-cn&familyid=2354406c-c5b6-44ac-9532-3de40f69c074 Windows Server 2003 中文版(32位))补丁下载地址:http:\/\/www.microsoft.com\/downloads\/details.aspx?displaylang=zh-cn&familyid...

请问有哪位大侠见过这样的电阻?RPS。250W,20K欧。
这是RPS功率电阻,用于AC直流电路,性能特殊,有些系列具有保护功能:如短路保护、过载保护\/过电压\/ ,宽幅电压

...我该怎么做啊!哪位大侠肯当我师傅教教我啊!
我该怎么做啊!哪位大侠肯当我师傅教教我啊! 我以前除了玩游戏什么多不会啊!... 我以前除了玩游戏什么多不会啊! 展开  我来答 5个回答 #活动# 参与造句大挑战,答题瓜分万元豪礼 寳珼の甜甜 2008-11-10 知道答主 回答量:60 采纳率:0% 帮助的人:0 我也去答题访问个人页 关注 ...

...可是有很多地方不懂 现在请哪位大侠指点一哈关于本本电池在使用过程...
我是个电脑新手 刚购的一台联想y460 可是有很多地方不懂 现在请哪位大侠指点一哈关于本本电池在使用过程中 一些注意现象和保养方法(特别是新电池的充电时间)!!!小弟在这感激不尽!!!... 一些注意现象 和保养方法(特别是新电池的充电时间)!!!小弟在这感激不尽!!! 展开  我来答 2个回答 #热议# ...

独山子区18051698172: 如何删除ACCESS表中重复记录 -
雀彼日夜: 从表中删除重复记录需要两个步骤.第一步,创建包含重复项的表结构的副本,然后生成所有包含重复项的字段的主键;第二步,创建并执行由原始表到新表的追加查询.因为主键字段不能包含重复记录,所以此过程将生成一个不含重复记录的...

独山子区18051698172: 请问怎么删除ACCESS中的重复记录 -
雀彼日夜: 在大的数据库应用中,经常因为各种原因遇到重复的记录,造成数据的冗余和维护上的不便.1.用rowid方法2.用group by方法3.用distinct方法 1.用rowid方法 据据oracle带的rowid属性,进行判断,是否存在重复,语句如下:查数据: select * ...

独山子区18051698172: 如何删除ACCESS数据表中重复数据 -
雀彼日夜: 总的来说你的数据表结构有问题 数据表分两种1:无重复记录的数据表2:由重复的数据表 对无重复的数据表要求设置主键,即规定有一个字段必须无重复,从而达到你想要的数据表.建议重新做表.回答完毕

独山子区18051698172: 如何删除ACCESS 重复数据? -
雀彼日夜: 你给的信息不够详细,可以用group by 后面的所有字段不包括rowid select min(rowid),后面的所有字段 from table group by 后面的所有字段 把这些数据复制到另一个表,将原表数据删除,再将这些数据COPY回.

独山子区18051698172: access 中如何完全删除一张表中重复的记录? -
雀彼日夜: delete from 表名 where 第一列 in (select 第一列 from 表名 group by 第一列 having count(*)>1)sql视图下执行以下语句 表名自己替换,第一列,就是存储1,2,3的那列,名字你按照自己的改一下

独山子区18051698172: access中如何删除一个表中字段中的重复内容 -
雀彼日夜: delete from [表名] where id not in (select min(id) from [表名] group by [带重复记录的字段名称]) 就是这个语法.

独山子区18051698172: 各位大侠如何删除ACCESS表中重复记录,数据如图片所示,需要的是SQL语句咯,在此先谢谢.
雀彼日夜: 以下就重复记录删除的问题作一阐述. 有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略. 1、对于第一种重复,比较...

独山子区18051698172: 如何将access数据表中的重复记录项自动删除? -
雀彼日夜: 展开全部1.用rowid方法2.用group by方法3.用distinct方法1.用rowid方法 据据oracle带的rowid属性,进行判断,是否存在重复,语句如下:查数据:select * from table1 a where rowid !=(select max(rowid) from table1 b where a.name1=b.name1 ...

独山子区18051698172: ACCESS 删除 重复 -
雀彼日夜: delete from sheet1 where [key] in (select [key] from sheet1 group by [key] having count(*)>1)刚才就是我给你的,group by [key] --你写的是group by sheet1,改成我上边那样

独山子区18051698172: access大量数据如何快速删除重复数据. -
雀彼日夜: SELECT Distinct(ID, Title) INTO temp 然后temp表中的数据就是不重复的.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网