पाठ 17 / 28
HAVING बनाम WHERE
समूहीकरण से पहले पंक्तियाँ फ़िल्टर करें, या बाद में समूह।
समूह फ़िल्टर करना
WHERE समूहीकरण से पहले पंक्तियाँ फ़िल्टर करता है; HAVING एग्रीगेशन के बाद समूह फ़िल्टर करता है।
SELECT customer_id, SUM(amount) AS total
FROM orders
GROUP BY customer_id
HAVING SUM(amount) > 2000;
Output:
customer_id | total 1 | 3200.00
WHERE में एग्रीगेट उपयोग नहीं होता
WHERE SUM(amount) > 2000 अमान्य है — जब WHERE चलता है तब एग्रीगेट अभी मौजूद नहीं होते। इसके बजाय HAVING उपयोग करें।