|
如何删除数据库中的冗余数据(翻译) (12) 1006 Monroe John 1 1009 Simon Michael 1 1010 Simon Michael 2 1001 Stone Tony 1 1011 Stone Tony 2 1014 Stone Tony 3 1016 Stone Tony 4 1019 Stone Tony 5
我们可以看一到,SeqNumber这一列中的数值,冗余数据是根据ID号由小到大进行的排序,所有的冗余数据的SqlNumber都大于一,所有的非冗余数据都等于一,所以我们取自己所需,删除那么没用的 SELECT ID, LastName, FirstName FROM (SELECT ID, LastName, FirstName, RANK() OVER (PARTITION BY LastName, FirstName ORDER BY ID) AS SeqNumber FROM Customers) WHERE SeqNumber > 1;
SQL Listing 8. 冗余键的键值 有七行必须被删除 ID LASTNAME FIRSTNAME ----- --------------- ---------- 1012 Krieger Jeff
|