شرح صفوف ومحتوى الفقرة
تتخذ دالة العد COUNT() صورتين أساسيتين تختلف نتيجتهما عند احتواء العمود على قيم فارغة NULL:
- الصيغة
COUNT(*): تعد إجمالي الصفوف التي حققت شرطWHEREبغض النظر عن محتوى الأعمدة أو فراغها. - الصيغة
COUNT(column_name): تعد فقط الصفوف التي يحتوي فيها العمود المحدد على قيمة فعلية غير فارغة، وتتخطى أي صف يحمل القيمةNULLفي ذلك العمود.
إذا لم يطابق الاستعلام أي صف، تُعيد دالة COUNT() دائماً العدد الصحيح 0 ولا تُعيد NULL أبداً.
SQL
-- Total orders vs orders that have been shipped
SELECT COUNT(*) AS total_orders,
COUNT(shipped_at) AS shipped_orders,
COUNT(*) - COUNT(shipped_at) AS unshipped_orders
FROM orders;