القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. اقرأ أكثر.

توصي أفضل ممارسات تصميم قاعدة البيانات باستخدام قيد UNIQUE لمنع التكرارات في قاعدة البيانات. ومع ذلك ، عند العمل باستخدام قاعدة بيانات سيئة التصميم أو بيانات غير نظيفة ، قد تحتاج إلى البحث عن النسخ المكررة بنفسك وحذفها يدويًا.

تابع القراءة لمعرفة كيفية العثور على التكرارات في قاعدة بيانات SQL وكيفية حذفها.

قم بإنشاء نموذج قاعدة بيانات

لأغراض العرض التوضيحي ، قم بإنشاء جدول باسم Users مع عمود الاسم والنتيجة عن طريق تشغيل استعلام SQL هذا.

يسقططاولةلوEXISTSالمستخدمون;

يخلقطاولةالمستخدمون (
pk_id int المفتاح الأساسي،
اسم VARCHAR (16) ،
يسجل INT ،
);

أدخل بعض القيم النموذجية عن طريق تشغيل هذا الاستعلام:

إدراجداخل
المستخدمون (pk_id ، الاسم ، النتيجة)
قيم
(1, "جين", 20),
(2, 'جون', 13),
(3, "أليكس", 32),
(4, 'جون', 46),
(5, "جين", 20),
(6, "ماري", 34),
(7, "جين", 20),
(8, 'جون', 13)

لاحظ أن بعض هذه الصفوف تحتوي على قيم مكررة لعمود الاسم.

لا تتردد في التحقق من هؤلاء أوامر واستعلامات SQL إذا كنت بحاجة إلى شرح أكثر تعمقًا حول كيفية التعامل مع قواعد البيانات باستخدام SQL.

instagram viewer

استخدام GROUP BY للبحث عن القيم المكررة

أنت تستطيع استخدم عبارة GROUP BY لترتيب القيم التي تستوفي شروطًا معينة في نفس المجموعة.

لنفترض أن الأسماء في نموذج الجدول يجب أن تكون فريدة. يمكنك استخدام GROUP BY لتجميع الصفوف التي تشترك في نفس الاسم.

يختاراسم, عدد(اسم)
من المستخدمين
تجميع حسب الاسم
عدد (الاسم)> 1

يتيح لك COUNT تحديد الصفوف التي لها أكثر من مستخدم بالاسم نفسه.

عند تشغيل هذا الاستعلام ، سترجع قاعدة البيانات الصفوف التي تحتوي على John و Jane كتكرارات.

حذف التكرارات من قاعدة بيانات

بعد العثور على التكرارات ، قد ترغب في حذفها باستخدام عبارة DELETE.

في هذا المثال ، قم بتشغيل الاستعلام التالي:

مع cte مثل (
يختار *
ROW_NUMBER () أكثر (
تقسيم حسب
الاسم والنتيجة
ترتيب حسب
الاسم والنتيجة
) ر
من
المستخدمون
)

يمسحمن cte
حيث R> 1 ؛

يستخدم هذا الاستعلام تعبير CTE للبحث عن التكرارات ثم يحذفها جميعًا باستثناء واحد.

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

حذف البيانات المكررة ليس ضروريا. ومع ذلك ، فإنه يتيح لك تحرير المساحة التي تستخدمها الصفوف المكررة.

تعني الصفوف الأقل أيضًا أن الاستعلامات يمكن أن تنفذ بشكل أسرع مما يؤدي إلى أداء أعلى. استخدم الاستعلامات في هذا البرنامج التعليمي لمساعدتك في البحث عن التكرارات وإزالتها من قاعدة بيانات SQL.