MySQL + SQL · Lesson 56
GROUP BY और HAVING
GROUP BY — हर Group का Summary
GROUP BY rows को groups में बाँटकर हर group पर aggregate लगाता है।
SELECT class, COUNT(*) AS total
FROM students
GROUP BY class;दिखाता है हर class में कितने students हैं।
हर Group का Average
SELECT class, AVG(marks) AS avg_marks
FROM students
GROUP BY class;
HAVING — Groups Filter करें
HAVING aggregation के बाद groups filter करता है (WHERE पहले rows filter करता है)।
SELECT class, AVG(marks) AS avg_marks
FROM students
GROUP BY class
HAVING AVG(marks) >= 80;सिर्फ वे classes जिनका average 80 या ज़्यादा है।
WHERE बनाम HAVING
WHERE grouping से पहले individual rows filter करता है। HAVING grouping के बाद groups filter करता है। Aggregate conditions (जैसे AVG) के लिए HAVING ज़रूरी है।
सारांश
- GROUP BY groups बनाता है; aggregates हर group पर चलते हैं।
- HAVING groups filter करता है; WHERE grouping से पहले rows।
💻 लाइव कोड एडिटर
इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.