الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

حذف السجلات المتكررة والمتشابه تماما

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله وبركاته

لو سمحتم ممكن طريقة عمل استعلام يقوم بحذف السجلات المتكررة المتشابهة

اثناء بحثي للمنتدى وجدت الرابط التالي

http://www.araboug.org/ib/index.php?showtopic=13768&st=0&p=67542&hl=+ط­ط°ظپ%20+ط§ظ„ط³ط¬ظ„ط§طھ%20+ط§ظ„ظ…ظƒط±ط±ط©&fromsearch=1entry67542
الا انه اثناء تجربتي لبعض الاستعلامات فانه يقوم بحذف سجلات اكثر من عدد السجلات المتكررة

فلو سمحتم ممكن بطريقة عاجلة استعلام يمكنني من حذف السجلات المتكررة والمتشابه تماماجزاكم الله خيرا


مع خالص التحية

بتاريخ:

الاخ الكريم
اطلعت على الينك الموجود ووجدت به المطلوب زى ما انت محتاج
يا ترى ايه اللى مش شغال معاك نساعدك فيه
شكرا
احمد

بتاريخ:
  • كاتب الموضوع

الاخ الكريم
اطلعت على الينك الموجود ووجدت به المطلوب زى ما انت محتاج
يا ترى ايه اللى مش شغال معاك نساعدك فيه
شكرا
احمد



بالبداية اشكرك اخي الكريم ع الرد السريع وبارك الله فيكم

بخصوص الموضوع السابق جربت اكثر من استعلام موجود ولكن نتيجة السجلات المحذوفة تكون اكثر من عدد السجلات المكررة عندي من الاساس

فلو تفضلتم ترشدوني الى اي من الاستعلامات المذكورة تكون اكثر دقة

جزاكم الله خيرا
بتاريخ:

السلام عليكم

لو تفهم الطريقة رح تعملها لحالك

اقولك كيف

اول شي اعمل select تجيب السجلات المتشابه حسب الاعمدة اللي انت تحددها

مثال

نفرض انه عندي جدول اسمه table1 وفي الاعمدة التالية وهي مجال البحث ( التأكد من انها غير مكررة )
test1,test2,test3,test4

والآن الـ select اللي تحدد انه يوجد في تكرار


select count(*), test1,test2,test3,test4 from table1
group by test1,test2,test3,test4
having count(*) >1




هذه الجملة تجلب لك البيانات المتكررة فقط

الان يمكنك تنفيذ عملية الحذف كالتالي




delete from table1 
where test1 in 

(
select count(*), test1,test2,test3,test4 from table1
group by test1,test2,test3,test4
having count(*) >1

)

بتاريخ:
  • كاتب الموضوع

السلام عليكم

لو تفهم الطريقة رح تعملها لحالك

اقولك كيف

اول شي اعمل select تجيب السجلات المتشابه حسب الاعمدة اللي انت تحددها

مثال

نفرض انه عندي جدول اسمه table1 وفي الاعمدة التالية وهي مجال البحث ( التأكد من انها غير مكررة )
test1,test2,test3,test4

والآن الـ select اللي تحدد انه يوجد في تكرار


select count(*), test1,test2,test3,test4 from table1
group by test1,test2,test3,test4
having count(*) >1




هذه الجملة تجلب لك البيانات المتكررة فقط

الان يمكنك تنفيذ عملية الحذف كالتالي




delete from table1 
where test1 in 

(
select count(*), test1,test2,test3,test4 from table1
group by test1,test2,test3,test4
having count(*) >1

)





في البداية جزاكم الله خيرا والله يوفقك انت واولادك وزوجتك وسائر المسلمين


ثاني استاذي انا جربت هالستيتميت لعمود واحد وظهرت وياي اشكالية

ttoo many values-ora913

بيه مشكلة بعدد الاعمدة مع اني اخترت عمود واحد فقط

جزاكم الله خيرا

)
بتاريخ:

اخي العزيز


اعتذر عن الخطأ وهو كالتالي


في جملة الاستعلام الثانية يجب تحديد نفس عدد الاعمدة في جملة الحذف ويصبح الكود كما يلي


delete from table1
where test1 in
(
select test1 from table1
group by test1,test2,test3,test4
having count(*) >1
)

تم تعديل بواسطة jadquraan

  • بعد 3 أسابيع...
بتاريخ:

Hi,
try this code that delete duplicated records except one record of them

DELETE FROM table1
 	WHERE ROWID IN (
          	SELECT rwid
            	FROM (SELECT ROWID rwid,
                         	ROW_NUMBER () OVER (PARTITION BY test1, test2, test3)
                                                                      	rn
                    	FROM table1)
           	WHERE rn > 1)



which table1 is Table name,
test1, test2 ,test3 is the matched table data that you want to delete redundant of them.

تم تعديل بواسطة mah6326955

بتاريخ:

Hi,
You can use another solution that doesn't use analytical functions



DELETE FROM table1
 	WHERE ROWID IN (
          	SELECT ROWID
            	FROM table1 t
           	WHERE EXISTS (
                    	SELECT 1
                      	FROM table1
                     	WHERE test1 = t.test1
                       	AND test2 = t.test2
                       	AND test3 = t.test3
                       	AND ROWID > t.ROWID));

  • بعد 5 سنة...
بتاريخ:

انا عايز احذف البيانات المتكررة فى القاعدة دة الجدول متكرر فية بيانات نفس الشخص من رقم 1 الى 12 لكن بكود 1 ومن رقم 13 الى 15 بس بكود 2 انا عايز احذف البيانات كلها للشخص ودة متكرر كثير فى الجدول 

https://drive.google.com/open?id=0B1PdtC7dd5B7WHdrN3ZhVm5uQ1U

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.