HAVING
HAVING
مفهوم
~17 دقيقة
HAVING
WHERE يصفّي الصفوف قبل التجميع. HAVING يصفّي المجموعات بعد التجميع. إذا أردت العملاء الذين لديهم أكثر من طلبين، تحتاج GROUP BY customer_id ثم HAVING COUNT(*) > 2. لا يمكنك استخدام WHERE COUNT(*) > 2 لأن COUNT لا توجد قبل التجميع.
فكر في الترتيب: FROM ثم WHERE ثم GROUP BY ثم HAVING ثم SELECT تقريباً من ناحية المنطق. هذا يساعدك أن تعرف أين تضع الشرط.
مثال عملي
query.sql
Output:
النتيجة تعرض العملاء الذين لديهم طلبان أو أكثر.
WHERE و HAVING معاً
يمكن استخدامهما معاً: WHERE status = 'paid' قبل التجميع، ثم HAVING SUM(total) > 10000 بعده.
تحدي — Challenge
GROUP BY customer_id ثم HAVING COUNT(*) >= 2