MySQL में Aggregate Functions
Aggregation क्या करता है
Aggregate functions summary questions का उत्तर देते हैं: कितने students, class average क्या, highest marks कौन-से? GROUP BY बिना filtered input one group होता और query सामान्यतः one summary row देती है।
SELECT COUNT(*) AS students,
SUM(marks) AS total_marks,
ROUND(AVG(marks), 2) AS average_marks,
MIN(marks) AS lowest,
MAX(marks) AS highest
FROM students;पाँच Core Aggregates
| Function | Answer |
|---|---|
COUNT(*) | कितनी rows? |
COUNT(column) | कितनी non-NULL values? |
SUM(column) | Total कितना? |
AVG(column) | Known values का mean? |
MIN / MAX | Smallest और largest values? |
NULL, Empty Inputs और Result Types
Most aggregates NULL ignore करते हैं; AVG missing marks को zero नहीं मानता। COUNT(*) row count करता है। Filter से no rows आएँ तो COUNT 0, जबकि SUM/AVG/MIN/MAX सामान्यतः NULL देते हैं।
SELECT COUNT(*) AS rows_found,
COUNT(marks) AS known_marks,
COALESCE(SUM(marks), 0) AS safe_total
FROM students
WHERE class_name = 'XII-Z';COALESCE केवल zero semantically correct हो तो लें। Exact precision input type पर depend है; marks/money में DECIMAL लें।
पहले Rows, बाद में Groups Filter
SELECT COUNT(*) AS active_students,
ROUND(AVG(marks), 2) AS active_average
FROM students
WHERE status = 'Active';WHERE inactive rows aggregation से पहले हटाता है। HAVING completed groups filter करता है।
Whole Table बनाम Grouped Report
SELECT class_name,
COUNT(*) AS students,
ROUND(AVG(marks), 2) AS average_marks
FROM students
GROUP BY class_name
ORDER BY class_name;हर selected nonaggregate column group के लिए valid होना चाहिए। ONLY_FULL_GROUP_BY ambiguous columns reject करता है।
गलतियाँ और अभ्यास
- COUNT(*) और COUNT(nullable_column) confuse करना।
- Aggregate condition WHERE में लगाना।
- Business rule बिना NULL को zero बनाना।
- Aggregates के साथ unrelated columns select करना।
- Calculation complete होने से पहले round करना।
- Active total और average निकालें।
- Known marks को rows से अलग count करें।
- हर status का summary लौटाएँ।
- NULL mark insert होने पर result predict करें।
त्वरित सारांश
- Aggregates one result per group देते हैं।
- COUNT, SUM, AVG, MIN, MAX के NULL rules अलग हैं।
- WHERE input rows, GROUP BY groups और HAVING groups filter करता है।
- Correct numeric types लें और presentation पर round करें।
Official संदर्भ
References 14 August 2026 को review किए गए। Outputs stated dataset पर हैं।