AzLearn

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

النتيجة تعرض العملاء الذين لديهم طلبان أو أكثر.

WHERE و HAVING معاً

يمكن استخدامهما معاً: WHERE status = 'paid' قبل التجميع، ثم HAVING SUM(total) > 10000 بعده.

تحدي — Challenge