sql 整合成一名
来源:百度知道 编辑:UC知道 时间:2024/09/25 11:32:03
Select id from details order by time desc 按时间降序
select distinct id from details 去除ID重复
select top 10 id from details 取十条记录
整句意思是取最后十条不重复的记录
高手再加五分.
功能都没能够实现
表结构:
id 作者 内容 时间
1 A aa 00:01:02
2 B bb 00:01:03
3 C cc 00:01:04
5 D dd 00:01:05
1 E EE 00:01:06
2 F ff 00:01:07
结果:删除ID重复,按时间排序,结果
id 作者 内容 时间
2 F ff 00:01:07
1 E EE 00:01:06
5 D dd 00:01:05
3 C cc 00:01:04
定义主键和唯一约束怎么弄,存储过程又怎么弄,请简单说明一下,看你这么辛苦,再加五分吧
不重复就是把重复的ID去掉
select distinct id from details 去除ID重复
select top 10 id from details 取十条记录
整句意思是取最后十条不重复的记录
高手再加五分.
功能都没能够实现
表结构:
id 作者 内容 时间
1 A aa 00:01:02
2 B bb 00:01:03
3 C cc 00:01:04
5 D dd 00:01:05
1 E EE 00:01:06
2 F ff 00:01:07
结果:删除ID重复,按时间排序,结果
id 作者 内容 时间
2 F ff 00:01:07
1 E EE 00:01:06
5 D dd 00:01:05
3 C cc 00:01:04
定义主键和唯一约束怎么弄,存储过程又怎么弄,请简单说明一下,看你这么辛苦,再加五分吧
不重复就是把重复的ID去掉
----------------
--先创建存储过程
----------------
CREATE PROCEDURE 删除重复ID
AS
select *
into #t
from 表名
where 1=2
declare @id int
declare @作者 varchar(200)
declare @内容 varchar(200)
declare @时间 datetime
declare idcursor cursor for
select [id],作者,内容,时间 from 表名
open idcursor
fetch next from idcursor into @id,@作者,@内容,@时间
while @@FETCH_STATUS = 0
begin
declare @old时间 datetime
select @old时间=时间 from #t where [id]=@id
if @old时间 is null
begin
insert into #t values(@id,@作者,@内容,@时间)
end
else if @old时间<@时间
begin
update #t set 作者=@作者,内容=@内容,时间=@时间 where [id]=@id
end
fetch next from idcursor into @id,@作者,@内容,@时间
end
CLOSE idcursor
DEALLOCATE idcursor
select * from #t order by 时间 desc
drop table #t
go
----------
--然后执行
----------
exec 删除重复ID