ورود

View Full Version : دستور حذف رکورد های تکراری یک جدول-خیلی فوری



sare443
یک شنبه 11 اسفند 1392, 18:34 عصر
سلام دوستان
می خوام رکورد ها ی تکراری را از جدولی حذف کنم چگونه می توان انجام داد؟؟-مثلا جدول پرسنل اسم های تکراری 5 تا داره 4 تا حذف کنم و یکیش بمونه؟؟
ممنون
:متفکر:

tooraj_azizi_1035
یک شنبه 11 اسفند 1392, 19:36 عصر
با فرض داشتن جدولی با سه ستون Col1, Col2, Col3:


;WITH cte
AS (SELECT ROW_NUMBER() OVER (PARTITION BY Col1, Col2, Col3
ORDER BY ( SELECT 0)) RN
FROM #MyTable)
DELETE FROM cte
WHERE RN > 1


SELECT 0 به SQL Server می فهمونه که نیازی به مرتب سازی نیست و بنابراین هزینه Sort که معمولاً نزدیک 50% کل هزینه اجراست حذف می شود.