PDA

View Full Version : حذف کلیه رکوردهای تکراری و نگه داشتن یک مورد از بین n رکورد تکراری



resident
شنبه 11 آبان 1387, 09:56 صبح
سلام.
من یه دیتابیس دارم که مشخصات افراد رو در یک table به نام customers نگه میداره و حدود 20000 رکورد داره.تو این دیتابیس رکوردهای تکراری زیاد دارم. حالا میخوام یه اسکریپت بنویسم که از ردیفهایی که آدرسهاشون یکسان است یکی رو نگه دارم و بقیه رو حذف کنم.آیا این کار امکان پذیره؟
فیلدهای جدول موردنظر نیز به قرار زیر است
Customerid
Code
Family
Postaladdress
متشکرم.

MajerajooyeKhallagh
شنبه 11 آبان 1387, 11:41 صبح
سلام دوست عزیز:
با توجه به اینکه براتون مهم نیست که کدوم رکورد باقی بماند,من اینجا,کوچکترین CustomerID را نگه داشته و بقیه را حذف کردم:



DELETE FROM customers
WHERE Customerid<>(
SELECT MIN(Customerid)
FROM customers C1
WHERE customers.Postaladdress=C1.Postaladdress
)