当前位置:  数据库>sqlserver

SQL对冗余数据的删除重复记录只保留单条的说明

    来源: 互联网  发布时间:2014-09-05

    本文导语:  我们先看一下相关数据结构的知识。 在学习线性表的时候,曾有这样一个例题。 已知一个存储整数的顺序表La,试构造顺序表Lb,要求顺序表Lb中只包含顺序表La中所有值不相同的数据元素。 算法思路: 先把顺序表La的第一个...

我们先看一下相关数据结构的知识。

在学习线性表的时候,曾有这样一个例题。

已知一个存储整数的顺序表La,试构造顺序表Lb,要求顺序表Lb中只包含顺序表La中所有值不相同的数据元素。
算法思路:
先把顺序表La的第一个元素付给顺序表Lb,然后从顺序表La的第2个元素起,每一个元素与顺序表Lb中的每一个元素进行比较,如果不相同,则把该元素附加到顺序表Lb的末尾。
代码如下:

public SeqList Purge(SeqList La)
{
SeqList Lb = new SeqList(La.Maxsize);
//将a表中的第1个数据元素赋给b表
Lb.Append(La[0]);
//依次处理a表中的数据元素
for (int i = 1; i 1select * from test group by idselect distinct * from testdelete from test a where a.rowid!=(select max(rowid) from test b where a.id=b.id);扯远了,回到原来的问题,除了采用数据结构的思想来处理,因为数据库特有的事务处理,能够把数据缓存在线程池里,这样也相当于临时表的功能,所以,我们还可以用游标来解决删除重复记录的问题。
declare @max int,
@id int
declare cur_rows cursor local for select id ,count(*) from test 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 test where id = @id
fetch cur_rows into @id ,@max
end
close cur_rows
set rowcount 0 以上是闪电查阅一些资料写出的想法,有考虑不周的地方,欢迎大家指出。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • sql server 删除表1某些数据的同时自动删除表2的相关数据的sql代码
  • 安装SQL2008时提示删除SQL2005Express工具的解决方法
  • sql server 2005删除用户时“数据库主体在该数据库中拥有架构,无法删除”错误的解决办法
  • SQLServer用t-sql命令批量删除数据库中指定表(游标循环删除)
  • sql语言中delete删除命令语句详解
  • 重装MS SQL Server 2000前必须彻底删除原安装文件的方法
  • Sql Server 2000删除数据库备份文件
  • sql 存储过程批量删除数据的语句
  • Sql Server 删除主键与重建主键的例子
  • jsp+SQL删除记录出错,请指教!
  • SQL Server 不删除信息重新恢复自动编号列的序号的方法
  • oracle数据库添加或删除一列的sql语句
  • sql server临时表删除方法
  • sql2005 数据表存在与否及删除的判断语句
  • sql server 临时表的删除示例
  • MySQL中批量删除指定前缀表的sql语句
  • sql server 2005维护计划无法删除怎么办呢?
  • sql 插入单引号、添加、删除字段的例子
  • 使用SQL Server判断文件是否存在后再删除(详解)
  • 编程语言 iis7站长之家
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL Server统计SQL语句执行时间的脚本
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3