شبكة تعلم مع ناو

كيف أحسب عدد القيم المختلفة باستخدام COUNT(DISTINCT) في SQL؟

عندما يحتوي الجدول على قيم متكررة، قد تحتاج إلى معرفة عدد القيم المختلفة بدلا من عدد مرات ظهورها. تستخدم COUNT(DISTINCT column) لهذا الغرض، فهي تستبعد التكرار قبل العد، ولا تدخل قيمة NULL في النتيجة. يفيد ذلك عند حساب عدد الدول الممثلة في جدول موظفين أو عدد العملاء الذين قدموا طلبات.

مثال

SELECT COUNT(DISTINCT country_code) AS country_count
FROM employees;

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

يمكن استخدام هذا التعبير مع GROUP BY أيضا، لحساب عدد الدول المختلفة داخل كل قسم. عندها يطبق استبعاد التكرار داخل المجموعة نفسها، وليس على الجدول كله مرة واحدة.

باختصار: استخدم COUNT(DISTINCT) عندما يكون المطلوب عدد القيم الفريدة المعروفة، لا عدد مرات تسجيلها.

هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.