所以沒有設唯一值(KEY),
裡面有很多重複資料想刪除,
上網找了語法參考了幾篇文章,
我使用的是WITH、PARTITION 與 ROW_NUMBER()的語法搭配,
因為我沒有可參考的ID(流水號)。
[參考文章1] 如何刪除 SQL Server 資料庫中重複的資料 (兩種不同解法)
[參考文章2] [SQL] 於多筆重複資料中取得該重複群組中最新一筆資料
因為我的SQL版本是2017就遇到了資料庫相容性的問題
使用以下語法:
ALTER DATABASE TestDB2
SET COMPATIBILITY_LEVEL = 90
因SQL2017最低只能相容到100,所以有錯誤訊息。
使用以下語法:
ALTER DATABASE TestDB2
SET COMPATIBILITY_LEVEL = 100
還是會有錯誤提示,但我發現其實能查詢,那就先這樣吧。
[參考文章3] ALTER DATABASE (TRANSACT-SQL) 相容性層級
WITH和 ROW_NUMBER()語法可參考這邊。
[參考文章4] SQL 中使用 WITH AS 提高性能
[參考文章5] ROW_NUMBER (Transact-SQL)
沒有留言:
張貼留言