|
如何删除数据库中的冗余数据(翻译) (5) 'Oakland', 'CA', '94342', '5104562881', TO_DATE('03-NOV-2000', 'DD-MON-YYYY'));
INSERT INTO Customers VALUES (1020, 'Hill', 'Larry', '2220 Bench St.', 'Santa Rosa', 'CA', '94533', '7072279800', TO_DATE('24-AUG-2000', 'DD-MON-YYYY'));
COMMIT; 看下面的代码我在姓,和名这两个字段上加上唯一约束,(当然你可以在创建表的时候加上这一约束,来防止冗余数据) ALTER TABLE Customers ADD CONSTRAINT Customers_LastFirst UNIQUE (LastName, FirstName);
Customer表中的冗余键是LastName和FirstName的集合,我们把含有冗余键的数据进行分组并进行统计.
SELECT LastName, FirstName, COUNT(*) FROM Customers GROUP BY LastName, FirstName ORDER BY LastName, FirstName;
Listing 2显示了这条语句的输出,我们可以看到有三行的输出大于1,这也就意味着表中含有3组冗余数据. Listing 2. 找出冗余
LASTNAME FIRSTNAME COUNT(*) --------------- ---------- ---------- Blake Becky 1 Blue Don 1 Bradley Tom 1 Chang Jim 1 Griffith David 1 Hill Larry 1
|