مجموعی افعال قطاروں کے ایک مجموعہ سے ایک قیمت کا حساب لگاتے ہیں — COUNT، SUM، AVG، MIN، MAX۔ یہ ڈیٹا کا خلاصہ کرنے کے لیے ضروری ہیں (کل، اوسط، تعداد)، خاص طور پر کے ساتھ ملا کر۔
مجموعی افعال قطاروں کے ایک مجموعہ سے ایک قیمت کا حساب لگاتے ہیں — COUNT، SUM، AVG، MIN، MAX۔ یہ ڈیٹا کا خلاصہ کرنے کے لیے ضروری ہیں (کل، اوسط، تعداد)، خاص طور پر کے ساتھ ملا کر۔
GROUP BYSELECT
COUNT(*) AS total_rows, -- count all rows
COUNT(email) AS rows_with_email, -- count NON-NULL emails (ignores NULLs!)
SUM(amount) AS total_amount, -- sum of a column
AVG(price) AS average_price, -- average
MIN(price) AS lowest, -- minimum
MAX(price) AS highest -- maximum
FROM orders;
ہر فنکشن بہت سی قطاروں کو ایک قیمت میں کم کر دیتا ہے۔ SUM/AVG اعداد پر کام کرتے ہیں؛ MIN/MAX اعداد، تاریخوں، یا متن پر؛ COUNT کسی بھی چیز پر۔
COUNT(*) -- counts ALL rows (including those with NULLs)
COUNT(email) -- counts only rows where email is NOT NULL
COUNT(DISTINCT country) -- counts UNIQUE non-null values
COUNT(*) تمام قطاریں گنتا ہے، لیکن COUNT(column) صرف ان قطاروں کو گنتا ہے جہاں وہ کالم NULL نہیں ہے — ایک لطیف لیکن اہم فرق۔ COUNT(DISTINCT col) منفرد اقدار کو گنتا ہے۔
-- aggregate PER GROUP instead of the whole table
SELECT country, COUNT(*) AS users, AVG(age) AS avg_age
FROM users
GROUP BY country; -- one result row per country
-- → for each country: how many users and their average age
بغیر GROUP BY کے، ایک مجموعی تمام نتیجے کو ایک قطار میں خلاصہ کرتا ہے۔ GROUP BY کے ساتھ، یہ ہر گروپ کے لیے ایک خلاصہ قطار پیدا کرتا ہے — عام، طاقتور استعمال۔
-- ❌ ERROR — can't mix an aggregate with a non-grouped column
SELECT name, COUNT(*) FROM users; -- which name? ambiguous
-- ✅ either group by it, or only select aggregates
SELECT country, COUNT(*) FROM users GROUP BY country;
مجموعی افعال ڈیٹا کا خلاصہ اور تجزیہ کرنے کے لیے ضروری ہیں — کل، اوسط، تعداد، اور انتہائی قیمتیں کا حساب لگانا رپورٹنگ، تجزیات، ڈیش بورڈز، اور ایپلیکیشن لاجک میں مسلسل ضرورت ہے، اس لیے ان کو سمجھنا بنیادی SQL علم ہے۔
اہم افعال (COUNT، SUM، AVG، MIN، MAX) کو جاننا اور یہ کہ کیسے وہ قطاروں کے مجموعہ کو اکلوتی قیمتوں میں کم کرتے ہیں، کسی بھی ڈیٹا خلاصے کے لیے ضروری ہے۔
ایک اہم، عام طور پر غلط فہم والی تفصیل یہ ہے کہ COUNT(*) بمقابلہ COUNT(column) فرق (COUNT(*) تمام قطاریں گنتا ہے، COUNT(column) صرف NULL نہیں اقدار گنتا ہے — جو مختلف، حیران کن نتائج دے سکتے ہیں)، COUNT(DISTINCT) منفرد اقدار کے ساتھ۔
سب سے طاقتور انداز میں، مجموعی افعال GROUP BY کے ساتھ ملتے ہیں تاکہ فی گروپ خلاصے (فی زمرہ گنتی/اوسط) پیدا کریں — تجزیاتی سوالات کی بنیاد۔
غلطی کو سمجھنا کہ آپ مجموعی اور غیر گروپ شدہ کالموں کو نہیں ملا سکتے (ایک عام غلطی) بھی اہم ہے۔
چونکہ ڈیٹا کا خلاصہ کرنا ایک ہر جگہ موجود ڈیٹا بیس کا کام ہے (ہر رپورٹ، ڈیش بورڈ، اور تجزیات کی سوال مجموعی افعال استعمال کرتی ہے)، اور چونکہ افعال کو، COUNT کی نفاست، اور خاص طور پر GROUP BY کے ساتھ ان کا مرکب سمجھنا SQL میں ڈیٹا تجزیے کی بنیاد ہے، مجموعی افعال میں مہارت حاصل کرنا بنیادی، بار بار استعمال شدہ علم ہے جو ڈیٹا کے ساتھ کام کرنے کے لیے ضروری ہے — بنیادی سوالات اور تجزیاتی، خلاصہ کرنے والی طاقت کے درمیان پل بناتے ہوئے جو رپورٹنگ اور بصیرت کے لیے SQL کو قیمتی بناتی ہے۔