पाठ 17 / 30
HAVING बनाम WHERE
WHERE से grouping से पहले rows filter करें और HAVING से aggregation के बाद groups filter करें।
समूह फ़िल्टर करना
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 उपयोग करें।