SQL语句删除2条重复数据一条保留一条

2022-05-24 0 898

— 任意的测试表


复制代码 代码如下:

CREATE TABLE test_delete(

name varchar(10),

value INT

);

go

— 张三100 与 王五80 是有重复的

INSERT INTO test_delete

SELECT ‘张三’, 100

UNION ALL SELECT ‘张三’, 100

UNION ALL SELECT ‘李四’, 80

UNION ALL SELECT ‘王五’, 80

UNION ALL SELECT ‘王五’, 80

UNION ALL SELECT ‘赵六’, 90

UNION ALL SELECT ‘赵六’, 70

go

— 测试检索数据

SELECT

ROW_NUMBER() OVER (PARTITION BY name, value ORDER BY (SELECT 1) ) AS no,

name,

value

FROM

test_delete

no name value

——————– ———- ———–

1 李四 80

1 王五 80

2 王五 80

1 张三 100

2 张三 100

1 赵六 70

1 赵六 90

–创建视图


复制代码 代码如下:

CREATE VIEW tmp_view AS

SELECT

ROW_NUMBER() OVER (PARTITION BY name, value ORDER BY (SELECT 1) ) AS no,

name,

value

FROM

test_delete

–删除数据

1> DELETE FROM tmp_view WHERE no != 1

2> go

(2 行受影响)

— 核对结果

1> www.jb51.net

2> select * from test_delete;

3> go

name value

———- ———–

张三 100

李四 80

王五 80

赵六 90

赵六 70

(5 行受影响)

作者 tearsmo

免责声明:
1、本网站所有发布的源码、软件和资料均为收集各大资源网站整理而来;仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 不得使用于非法商业用途,不得违反国家法律。否则后果自负!

2、本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与www.niceym.com无关。
如果您喜欢该程序,请支持正版源码、软件,购买注册,得到更好的正版服务。
如有侵犯你版权的,请邮件与我们联系处理(邮箱:skknet@qq.com),本站将立即改正。

NICE源码网 MsSql SQL语句删除2条重复数据一条保留一条 https://www.niceym.com/60658.html