最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SqlServer中根據(jù)某幾列獲取重復(fù)的數(shù)據(jù)將其刪除并保留最新一條

 更新時間:2024年04月28日 14:48:02   作者:Qubernet  
有時候,我們某個數(shù)據(jù)表中,可能有幾列的數(shù)據(jù)都是一樣的,此時我們可能想查詢出這幾列數(shù)據(jù)相同的所有數(shù)據(jù)行,并保留最新一條,將其他重復(fù)的數(shù)據(jù)刪除,這篇文章主要介紹了SqlServer中根據(jù)某幾列獲取重復(fù)的數(shù)據(jù)將其刪除并保留最新一條,感興趣的朋友一起看看吧

有時候,我們某個數(shù)據(jù)表中,可能有幾列的數(shù)據(jù)都是一樣的,此時我們可能想查詢出這幾列數(shù)據(jù)相同的所有數(shù)據(jù)行,并保留最新一條,將其他重復(fù)的數(shù)據(jù)刪除。

??1、ROW_NUMBER函數(shù)

假設(shè)我們有如下數(shù)據(jù)表:

此時我們可以使用ROW_NUMBER函數(shù),根據(jù)某幾列查詢出重復(fù)數(shù)據(jù)的新的排序列,該排序列就是根據(jù)某幾列重復(fù)數(shù)據(jù)生成的序號(從1開始),如下所示OrderNo就是我們新生成的列:


--根據(jù)Name和Age這2個字段進行查詢并獲得新的列OrderNo(OrderNo就是根據(jù)Name和Age重復(fù)數(shù)據(jù)生成的序號,從1開始),同時按照CreateTime降序排列
SELECT *,OrderNo=ROW_NUMBER() OVER(PARTITION BY [Name],Age ORDER BY CreateTime DESC) 
FROM dbo.TestTb

??2、刪除數(shù)據(jù)

有了上述代碼中的排序列,我們就可以知道,OrderNo的值>1的數(shù)據(jù)行都是我們需要刪除的數(shù)據(jù),完整代碼如下所示:

--刪除表TestTb中字段Name和Age同時重復(fù)的數(shù)據(jù),并保留最新一條
DELETE FROM dbo.TestTb WHERE Id IN(
    --根據(jù)Name和Age這2個字段查詢出重復(fù)的數(shù)據(jù)
    SELECT Id FROM
    (
		--根據(jù)Name和Age這2個字段進行查詢并獲得新的列OrderNo(OrderNo就是根據(jù)Name和Age重復(fù)數(shù)據(jù)生成的序號,從1開始),同時按照CreateTime降序排列
		SELECT *,OrderNo=ROW_NUMBER() OVER(PARTITION BY [Name],Age ORDER BY CreateTime DESC) 
		FROM dbo.TestTb
    ) Tmp
    WHERE OrderNo>1
);

執(zhí)行刪除:

刪除后的:

到此這篇關(guān)于SqlServer中根據(jù)某幾列獲取重復(fù)的數(shù)據(jù)將其刪除并保留最新一條的文章就介紹到這了,更多相關(guān)SqlServer獲取重復(fù)的數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • sqlserver 臨時表的用法

    sqlserver 臨時表的用法

    用于復(fù)雜查詢時可以用臨時表來暫存相關(guān)記錄,能夠提高效率、提高程序的可讀性,類似于游標(biāo)中的my_cursor declare my_cursor cursor scroll
    2010-11-11
  • SqlServer 擴展屬性的介紹

    SqlServer 擴展屬性的介紹

    SqlServer 擴展屬性的介紹,需要的朋友可以參考一下
    2013-03-03
  • 深入分析MSSQL數(shù)據(jù)庫中事務(wù)隔離級別和鎖機制

    深入分析MSSQL數(shù)據(jù)庫中事務(wù)隔離級別和鎖機制

    事務(wù)隔離級別簡單的說,就是當(dāng)激活事務(wù)時,控制事務(wù)內(nèi)因SQL語句產(chǎn)生的鎖定需要保留多入,影響范圍多大,以防止多人訪問時,在事務(wù)內(nèi)發(fā)生數(shù)據(jù)查詢的錯誤。設(shè)置事務(wù)隔離級別將影響整條連接。
    2014-08-08
  • 深入淺析SQL Server 觸發(fā)器

    深入淺析SQL Server 觸發(fā)器

    觸發(fā)器是一種特殊的存儲過程,觸發(fā)器是通過事件觸發(fā)可以自動調(diào)用執(zhí)行的。在sql2005中,觸發(fā)器可以分為dml觸發(fā)器和ddl觸發(fā)器。下面通過本篇文章給大家深入淺析sqlserver觸發(fā)器,需要的朋友可以參考下
    2015-10-10
  • 如何創(chuàng)建支持FILESTREAM的數(shù)據(jù)庫示例探討

    如何創(chuàng)建支持FILESTREAM的數(shù)據(jù)庫示例探討

    FILESTREAM使用一種特殊類型的文件組,因此在創(chuàng)建數(shù)據(jù)庫時,必須至少為一個文件組指定 CONTAINS FILESTREAM 子句接下來為你詳細介紹下如何創(chuàng)建支持 FILESTREAM 的數(shù)據(jù)庫
    2013-03-03
  • sql語法中的concat()函數(shù)詳解

    sql語法中的concat()函數(shù)詳解

    SQL CONCAT 函數(shù)添加兩個或多個字符或字符串以在結(jié)果中形成一個新字符串,這篇文章主要介紹了sql concat()函數(shù),需要的朋友可以參考下
    2022-08-08
  • 數(shù)據(jù)庫 日期加減處理

    數(shù)據(jù)庫 日期加減處理

    對于日期指定部分的加減,使用DATEADD函數(shù)就可以輕松實現(xiàn)。
    2009-07-07
  • sqlserver數(shù)據(jù)庫移動數(shù)據(jù)庫路徑的腳本示例

    sqlserver數(shù)據(jù)庫移動數(shù)據(jù)庫路徑的腳本示例

    前段時間做過這么一件事情,把原本放在c盤的所有數(shù)據(jù)庫(除了sql server系統(tǒng)文件外)文件Move到D盤,主要是為了方便后續(xù)管理以及減少磁盤I/O阻塞(C,D是2個獨立磁盤)。腳本需輸入2個參數(shù):目標(biāo)數(shù)據(jù)庫名字和目標(biāo)目錄
    2013-12-12
  • SQL中不停機擴容實現(xiàn)的幾種方法

    SQL中不停機擴容實現(xiàn)的幾種方法

    不停機擴容是一種在不影響系統(tǒng)正常運行的情況下,動態(tài)增加資源以提升系統(tǒng)性能和容量的方法,下面就來介紹一下幾種常見的方法,感興趣的可以了解一下
    2025-04-04
  • SqlServer 英文單詞全字匹配詳解及實現(xiàn)代碼

    SqlServer 英文單詞全字匹配詳解及實現(xiàn)代碼

    這篇文章主要介紹了SqlServer 英文單詞全字匹配的相關(guān)資料,并附實例,有需要的小伙伴可以參考下
    2016-09-09

最新評論

从江县| 滨州市| 宜兰县| 南充市| 德庆县| 隆尧县| 孝义市| 东海县| 内丘县| 彭水| 宝应县| 汉源县| 孙吴县| 灌阳县| 合山市| 金川县| 郓城县| 东台市| 万全县| 曲水县| 武穴市| 沈阳市| 久治县| 五华县| 嘉荫县| 日土县| 诸城市| 开原市| 绥阳县| 南靖县| 平谷区| 海南省| 凌源市| 沈丘县| 泽普县| 荔浦县| 乌恰县| 佳木斯市| 循化| 山丹县| 房山区|