国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

SQL刪除重復的記錄(只保留一條)

2024-07-21 02:46:32
字體:
來源:轉載
供稿:網友
SQL刪除重復的記錄(只保留一條)

首先新建表:

--創建示例表CREATE TABLE t(    id INT IDENTITY(1,1) PRIMARY KEY,    a VARCHAR(10),    b VARCHAR(10))--插入數據INSERT INTO t SELECT 'aa','bb' UNION ALLSELECT 'a1','bgb' UNION ALLSELECT 'aa','bb' UNION ALLSELECT 'a2','bb' UNION ALLSELECT 'aa3','beeb' UNION ALLSELECT 'aa','bb' UNION ALLSELECT 'a2','bb' 

查詢重復數據:可看到重復數據為:[a2,bb] 重復2次,[aa,bb] 重復3次

--查詢重復數據SELECT a,b,COUNT(*) count FROM t GROUP BY a,b

刪除重復數據 (重復數據只保留1條):

方法一

--首先通過子查詢取出 id 最小的不重復行,然后通過 NOT IN 刪除重復數據DELETE FROM t WHERE id NOT IN(    SELECT MIN(id) FROM t GROUP BY a,b)

方法二

--首先通過 PARTITION BY 對 a,b 列進行分區排序并生成序號列,然后將序號大于 1 的行刪除,即刪除了重復數據DELETE a FROM (SELECT ROW_NUMBER() OVER (PARTITION BY a,b ORDER BY ID) num FROM t) a WHERE num>1


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平江县| 洛南县| 驻马店市| 西丰县| 陆河县| 华容县| 凤城市| 通化县| 青海省| 信宜市| 分宜县| 广东省| 申扎县| 洛南县| 泽州县| 平泉县| 泊头市| 阳高县| 都兰县| 若尔盖县| 韩城市| 拉萨市| 平原县| 喀什市| 随州市| 湖北省| 老河口市| 磐安县| 会理县| 格尔木市| 西吉县| 托克逊县| 鹿邑县| 平邑县| 乐清市| 和静县| 汽车| 海盐县| 合川市| 巴马| 清苑县|