sqlserver CTE刪除重復(fù)數(shù)據(jù)的實現(xiàn)方法
sqlserver CTE刪除重復(fù)數(shù)據(jù)
實現(xiàn)刪除重復(fù)數(shù)據(jù),并保留一條
- 使用
ROW_NUMBER()
窗口函數(shù)為每一行分配一個行號,按重復(fù)列的條件分組; - 使用
CTE
來表示重復(fù)的行; - 刪除行號大于1的行。
WITH CTE AS ( SELECT IOT_TerminalNo,SendDate,EVoltage,ECurrent,CreateTime, ROW_NUMBER() OVER ( PARTITION BY IOT_TerminalNo, SendDate ORDER BY (SELECT 0) ) AS rn FROM Equipment_1001 where --IOT_TerminalNo='Weldjoin-000001' AND SendDate >='2025-04-01 00:00:00.000' AND SendDate<'2025-07-07 13:26:32.830' ) DELETE FROM CTE WHERE rn > 1;
PARTITION BY
:按條件分組;rn > 1
:刪除所有重復(fù)的行,只保留每組中的第一行;
SQL server 刪除完全重復(fù)的數(shù)據(jù)并保留一條
前提
SQL server 數(shù)據(jù)庫,某張表有主鍵,且存在多條完全重復(fù)的數(shù)據(jù),并且重復(fù)數(shù)據(jù)的ID也完全相同,在刪除其中一條后,所有的重復(fù)數(shù)據(jù)全都被刪除了。
實現(xiàn)刪除重復(fù)數(shù)據(jù),并保留一條
- 使用
ROW_NUMBER()
窗口函數(shù)為每一行分配一個行號,按重復(fù)列的條件分組; - 使用
CTE
來表示重復(fù)的行; - 刪除行號大于1的行。
WITH CTE AS ( SELECT ## 字段 code, timePoint, ROW_NUMBER() OVER ( PARTITION BY code, TimePoint ORDER BY (SELECT 0) ) AS rn FROM table_name ) DELETE FROM CTE WHERE rn > 1;
解釋
PARTITION BY
:按條件分組;rn > 1
:刪除所有重復(fù)的行,只保留每組中的第一行;
到此這篇關(guān)于sqlserver CTE刪除重復(fù)數(shù)據(jù)的文章就介紹到這了,更多相關(guān)sqlserver cte刪除重復(fù)數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SqlServer公用表表達式(CTE)的具體使用
- Java中String的JdbcTemplate連接SQLServer數(shù)據(jù)庫的方法
- 使用SqlServer CTE遞歸查詢處理樹、圖和層次結(jié)構(gòu)
- 在sqlserver中如何使用CTE解決復(fù)雜查詢問題
- SQLSERVER2008中CTE的Split與CLR的性能比較
- 教你幾種在SQLServer中刪除重復(fù)數(shù)據(jù)方法
- 刪除sqlserver數(shù)據(jù)庫日志和沒有日志的數(shù)據(jù)庫恢復(fù)辦法
- SQLserver刪除某數(shù)據(jù)庫中所有表實現(xiàn)思路
相關(guān)文章
SQL Server 數(shù)據(jù)庫中的收縮數(shù)據(jù)庫和文件操作
收縮數(shù)據(jù)文件通過將數(shù)據(jù)頁從文件末尾移動到更靠近文件開頭的未占用的空間來恢復(fù)空間,在文件末尾創(chuàng)建足夠的空間后,可取消對文件末尾的數(shù)據(jù)頁的分配并將它們返回給文件系統(tǒng),本文給大家介紹SQL Server 數(shù)據(jù)庫中的收縮數(shù)據(jù)庫和文件的相關(guān)知識,一起看看吧2023-07-07SQL where條件和jion on條件的詳解及區(qū)別
這篇文章主要介紹了SQL where條件和jion on條件的詳解及區(qū)別的相關(guān)資料,這里舉例說明該如何區(qū)分,需要的朋友可以參考下2016-12-12Sql Server 開窗函數(shù)Over()的使用實例詳解
這篇文章主要介紹了Sql Server 開窗函數(shù)Over()的使用,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-05-05SQL Server查看login所授予的具體權(quán)限問題
在SQL Server數(shù)據(jù)庫中如何查看一個登錄名(login)的具體權(quán)限呢,下面腳本之家小編給大家?guī)砹薙QL Server查看login所授予的具體權(quán)限問題,感興趣的朋友一起看看吧2019-09-09sqlserver只有MDF文件恢復(fù)數(shù)據(jù)庫的方法
因為只有mdf文件,想恢復(fù)數(shù)據(jù)庫,大家可以用下面的代碼先測試2008-10-10SQL?Server創(chuàng)建用戶定義函數(shù)
這篇文章介紹了SQL?Server創(chuàng)建用戶定義函數(shù)的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05談?wù)剆qlserver自定義函數(shù)與存儲過程的區(qū)別
這篇文章主要介紹了談?wù)剆qlserver自定義函數(shù)與存儲過程的區(qū)別,需要的朋友可以參考下2014-09-09