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।
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.