-- 任意的測(cè)試表
復(fù)制代碼 代碼如下:
CREATE TABLE test_delete(
name varchar(10),
value INT
);
go
-- 張三100 與 王五80 是有重復(fù)的
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
-- 測(cè)試檢索數(shù)據(jù)
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)建視圖
復(fù)制代碼 代碼如下:
CREATE VIEW tmp_view AS
SELECT
ROW_NUMBER() OVER (PARTITION BY name, value ORDER BY (SELECT 1) ) AS no,
name,
value
FROM
test_delete
--刪除數(shù)據(jù)
1> DELETE FROM tmp_view WHERE no != 1
2> go
(2 行受影響)
-- 核對(duì)結(jié)果
1> www.jb51.net
2> select * from test_delete;
3> go
name value
---------- -----------
張三 100
李四 80
王五 80
趙六 90
趙六 70
(5 行受影響)
作者 tearsmo
您可能感興趣的文章:- ThinkPHP多表聯(lián)合查詢的常用方法
- SQL語(yǔ)句去掉重復(fù)記錄,獲取重復(fù)記錄
- ThinkPHP實(shí)現(xiàn)多數(shù)據(jù)庫(kù)連接的解決方法
- ThinkPHP查詢語(yǔ)句與關(guān)聯(lián)查詢用法實(shí)例
- thinkphp中多表查詢中防止數(shù)據(jù)重復(fù)的sql語(yǔ)句(必看)