انتقل إلى محتوى الدرس

Counting Unique Values DISTINCT عد القيم الفريدة بـ DISTINCT

احسب عدد القيم الفريدة غير المكررة وغير الفارغة في عمود أو أكثر باستخدام COUNT(DISTINCT expr).
1 صفوف تعليمية
MySQL
8 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

توجّه الكلمة المفتاحية DISTINCT داخل COUNT(DISTINCT expr) محرك MySQL إلى إزالة التكرار أولاً ثم عد القيم الفريدة غير الفارغة فقط.

  • حساب الكيانات الفريدة: بينما تعد COUNT(customer_id) إجمالي الطلبات، تعد COUNT(DISTINCT customer_id) عدد العملاء الفريدين الذين أجروا تلك الطلبات.
  • عد التوليفات الفريدة لعدة أعمدة: يتميز MySQL بدعم تمرير أكثر من عمود داخل الدالة مثل COUNT(DISTINCT country, city) لحساب عدد الثنائيات الفريدة غير الفارغة مباشرة.

وكما هو الحال في COUNT(col)، تتجاهل COUNT(DISTINCT col) القيم الفارغة NULL تماماً.

SQL
-- Count total orders vs unique buyers and unique cities
SELECT COUNT(*)                        AS total_orders,
       COUNT(DISTINCT customer_id)     AS unique_buyers,
       COUNT(DISTINCT country, city)   AS unique_locations
FROM orders
WHERE order_status = 'paid';