删除 MS SQL Server 中的重复项
原文:https://www . geesforgeks . org/delete-duplicates-in-ms-SQL-server/
任何表中的重复值都可能是由于不良的表设计或其他来源的不需要的数据造成的。要从 SQL Server 中的表中删除重复数据,请执行以下步骤–
- 查找重复的行。
- 使用 DELETE 语句删除重复的行。
让我们创建一个名为 Geek–
CREATE TABLE Geek(
Name NVARCHAR(100) NOT NULL,
Email NVARCHAR(255) NOT NULL,
City NVARCHAR(100) NOT NULL);
让我们在表 Geek 中插入一些值–
INSERT INTO Geek (Name, Email, City) VALUES
('Nisha', 'nisha@gfg.com', 'Delhi'),
('Megha', 'megha@gfg.com', 'Noida'),
('Khushi', 'khushi@gfg.com', 'Jaipur'),
('Khushi', 'khushi@gfg.com', 'Jaipur'),
('Khushi', 'khushi@gfg.com', 'Jaipur'),
('Hina', 'hina@gfg.com', 'Kanpur'),
('Hina', 'hina@gfg.com', 'Kanpur'),
('Misha', 'misha@gfg.com', 'Gurugram'),
('Misha', 'misha@gfg.com', 'Gurugram'),
('Neha', 'neha@gfg.com', 'Pilani');
让我们显示一下 Geek 表的内容–
SELECT *
FROM Geek;
表–极客
名字 | 电子邮件 | 城市 |
---|---|---|
妮莎 | nisha@gfg.com | 德里 |
非常 | megha@gfg.com | 无聊死了 |
库希 | khushi@gfg.com(中文) | 斋浦尔 |
库希 | khushi@gfg.com(中文) | 斋浦尔 |
库希 | khushi@gfg.com(中文) | 斋浦尔 |
希娜 | hina@gfg.com(中文) | 坎普尔。原称 CAWNPORE |
希娜 | hina@gfg.com(中文) | 坎普尔。原称 CAWNPORE |
希娜 | hina@gfg.com(中文) | 坎普尔。原称 CAWNPORE |
米沙 | 米沙@gfg.com | 我很自豪 |
米沙 | 米沙@gfg.com | 我很自豪 |
停止 | neha@gfg.com | 皮拉尼 |
SQL Server 查询从表 Geek 中删除重复记录:
WITH CTE AS (
SELECT Name, Email, City
ROW_NUMBER() OVER (
PARTITION BY Name, Email. City
ORDER BY Name, Email. City
) row_num
FROM Geek
)
DELETE FROM CTE
WHERE row_num > 1;
输出– (受影响 5 行)
SELECT *
FROM Geek;
表–极客
名字 | 电子邮件 | 城市 |
---|---|---|
妮莎 | nisha@gfg.com | 德里 |
非常 | megha@gfg.com | 无聊死了 |
库希 | khushi@gfg.com(中文) | 斋浦尔 |
希娜 | hina@gfg.com(中文) | 坎普尔。原称 CAWNPORE |
米沙 | 米沙@gfg.com | 我很自豪 |
停止 | neha@gfg.com | 皮拉尼 |
版权属于:月萌API www.moonapi.com,转载请注明出处