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

前端之家收集整理的这篇文章主要介绍了SQL语句删除2条重复数据一条保留一条前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

-- 任意的测试表
<div class="codetitle"><a style="CURSOR: pointer" data="52929" class="copybut" id="copybut52929" onclick="doCopy('code52929')"> 代码如下:

<div class="codebody" id="code52929">
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 '赵六',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 --创建视图
<div class="codetitle"><a style="CURSOR: pointer" data="44643" class="copybut" id="copybut44643" onclick="doCopy('code44643')"> 代码如下:
<div class="codebody" id="code44643">
CREATE VIEW tmp_view AS
SELECT
ROW_NUMBER() OVER (PARTITION BY name,
value
FROM
test_delete

--删除数据
1> DELETE FROM tmp_view WHERE no != 1
2> go (2 行受影响) -- 核对结果
1> www.jb51.cc
2> select * from test_delete;
3> go
name value
---------- -----------
张三 100
李四 80
王五 80
赵六 90
赵六 70 (5 行受影响)
作者 tearsmo

猜你在找的MsSQL相关文章