সমষ্টি ফাংশন একটি সারির সেট থেকে একটি একক মান গণনা করে — 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 কে মূল্যবান করে তোলে তার মধ্যে সেতুবন্ধন।