SQL語句刪除2條重復數據一條保留一條
更新時間:2012年06月29日 14:47:26 作者:
SQL語句2條完全一樣的數據刪除一條保留一條,SQL Server 2005 Express 下測試通過, 僅供參考
-- 任意的測試表
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
--創(chuàng)建視圖
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.dbjr.com.cn
2> select * from test_delete;
3> go
name value
---------- -----------
張三 100
李四 80
王五 80
趙六 90
趙六 70
(5 行受影響)
作者 tearsmo
復制代碼 代碼如下:
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
--創(chuàng)建視圖
復制代碼 代碼如下:
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.dbjr.com.cn
2> select * from test_delete;
3> go
name value
---------- -----------
張三 100
李四 80
王五 80
趙六 90
趙六 70
(5 行受影響)
作者 tearsmo
相關文章
sql server使用公用表表達式CTE通過遞歸方式編寫通用函數自動生成連續(xù)數字和日期
CTE是在內存中準備好數據,而不是每次一條往返服務器和客戶端一次。如果需要再插入到臨時表的話就是全部數據一次性插入。 這篇文章主要介紹了sql server使用公用表表達式CTE通過遞歸方式編寫通用函數自動生成連續(xù)數字和日期 ,需要的朋友可以參考下2019-07-07SQLServer2005創(chuàng)建定時作業(yè)任務
這篇文章主要為大家介紹了SQLServer2005創(chuàng)建定時作業(yè)任務的詳細過程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12sql server 2016不能全部用到CPU的邏輯核心數的問題
服務器總共CPU核心有72核,但sql 只能用到40核心,想信也有很多人遇到這問題,那么今天這節(jié)就先說說這問題是怎么出現的2023-05-05