爱问知识人 爱问教育 医院库

如何删除数据库中的冗余数据?

首页

如何删除数据库中的冗余数据?

如何删除数据库中的冗余数据?

提交回答

全部答案

    2017-07-26 20:19:02
  •   它将冗余数据选择到一个游标中,并根据(LastName,FirstName)来分组(在我们这个方案中),然后打开游标然后循环地取出每一行,然后用与先前的取出的键值进行比较,如果这是第一次取出这个值,或者这个值不是冗余键,那么跳过这个记录然后取下一个,不然的话,这就是这个组中的冗余记录,所以删掉它.
    让我们运行一下这个存储过程
    BEGIN
    DeleteDuplicates;
    END;
    /
    SELECT LastName, FirstName, COUNT(*)
    FROM Customers
    GROUP BY LastName, FirstName
    HAVING COUNT(*) > 1;
    最后一个查询语句没有返回值,所以冗余数据没有了从表中取冗余数据的过程完全是由定义在csr_Duplicates 这个游标中的SQL语句来实现的,PL/SQl只是用来实现删除冗余数,那么能不能完全用SQL语句来实现呢?
    二.SQL解决方案,使用RANK()删除冗余数据Oracle8i分析函数RANK()来枚举每一个组中的元素,在我们的方案中, 我们应用这个方案,我们使用这个函数动态的把冗余数据连续的排列起来加上编号,组由Partintion by 这个语句来分开,然后用Order by 进行分组 SELECT ID, LastName, FirstName, RANK() OVER (PARTITION BY LastName,
    FirstName ORDER BY ID) SeqNumber
    FROM Customers
    ORDER BY LastName, FirstName;
    SQL
    Listing 7。
       Output of single SQL statement that uses RANK() 显示的是根据记录的条数的个数来显示尤其对于冗余数据 ID LASTNAME FIRSTNAME SEQNUMBER ----- --------------- ---------- ---------- 1018 Blake Becky 1 1013 Blue Don 1 1000 Bradley Tom 1 1002 Chang Jim 1 1008 Griffith David 1 1020 Hill Larry 1 1004 King Chuck 1 1005 Krieger Jeff 1 1012 Krieger Jeff 2 1017 Krieger Jeff 3 1003 Loney Julie 1 1007 Lord Don 1 1015 Mason Paul 1 1006 Monroe John 1 1009 Simon Michael 1 1010 Simon Michael 2 1001 Stone Tony 1 1011 Stone Tony 2。
      

    财***

    2017-07-26 20:19:02

类似问题

换一换
  • 系统软件 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):