COUNT() kya count karta hai jo COUNT(col) nahi karta? ::: Woh rows jahan col NULL hai — COUNT() saari rows count karta hai, COUNT(col) sirf non-NULL values count karta hai.
AVG(salary) aksar SUM/total_rows se zyada kyun hota hai?
AVG non-NULL values ki count se divide karta hai, total row count se nahi; NULLs skip ho jaate hain.
Kaunsa clause groups ko aggregate condition se filter karta hai?
HAVING (WHERE aggregation se pehle run hota hai aur aggregates nahi dekh sakta).
SUM zero non-NULL rows par kya return karta hai?
NULL, 0 nahi (COUNT us case mein 0 return karta hai).
Ek grouped query ka logical execution order?
FROM → WHERE → GROUP BY → aggregate → HAVING → SELECT → ORDER BY.
First principles se AVG ka formula?
AVG = (non-NULL values ka sum) / (non-NULL values ka count).
Recall Feynman: ek 12-saal ke bachche ko explain karo
Socho ek chalkboard par test scores ki list hai. Har score padhne ki jagah, tumhari teacher 5 quick questions poochti hai: Kitne tests? (COUNT), Sab jodo (SUM), Typical score kya hai? (AVG), Sabse kam? (MIN), Sabse zyada? (MAX). Kuch bachche absent the aur unhone blank chhod diya — jodne aur average nikalne ke liye tum blanks ignore karte ho, lekin agar tum sirf "kitni seats hain" count kar rahe ho toh phir bhi empty desk count hoti hai (yahi COUNT(*) hai). GROUP BY aisa hai jaise bachcon ko pehle Team A aur Team B mein sort karo, phir har team ke liye alag se woh 5 questions poochho.