عند اختيار عدة أعمدة مع DISTINCT، يختبر MySQL تكرار الصف الناتج كاملًا، أي تركيبة القيم في جميع الأعمدة المختارة. لا يزيل التكرار من كل عمود بصورة مستقلة، ولا يحتفظ بصف واحد لكل قيمة في العمود الأول فقط. لذلك قد تتكرر المدينة في النتيجة إذا اختلفت الدولة المرتبطة بها في الصفوف المختارة.
لفهم النتيجة، اكتب كل صف على شكل زوج أو مجموعة من القيم، ثم احذف التركيبات المتطابقة بالكامل. إذا كان صفان يحملان الدولة نفسها والمدينة نفسها، يظهر الزوج مرة واحدة. أما إذا اختلف أحد العنصرين، فهما نتيجتان مختلفتان. هذه الطريقة مفيدة عند إعداد قوائم للفروع أو التصنيفات المركبة، حيث لا يكفي النظر إلى قيمة واحدة لتحديد ما إذا كان السجل المعروض مكررًا.
مثال
CREATE TABLE customers_pairs_demo (country VARCHAR(20), city VARCHAR(20));
INSERT INTO customers_pairs_demo VALUES ('A', 'North'), ('A', 'North'), ('A', 'South'), ('B', 'North');
SELECT DISTINCT country, city FROM customers_pairs_demo;
باختصار: DISTINCT على عدة أعمدة تزيل تكرار التركيبة الكاملة، لا تكرار كل عمود منفردًا.
هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.