Aggregation Functions হল MySQL-এ এমন ফাংশন যা এক বা একাধিক রেকর্ড থেকে তথ্য সংগ্রহ করে এবং সেগুলোর উপর গাণিতিক বা অন্যান্য কার্যক্রম চালায়। এই ফাংশনগুলো খুবই উপকারী যখন আমরা বিভিন্ন ধরনের রিপোর্ট তৈরি করতে চাই বা পরিসংখ্যান বিশ্লেষণ করতে চাই।
1. SUM() Function
SUM() ফাংশন একটি নির্দিষ্ট কলামের সকল মানের যোগফল প্রদান করে। সাধারণত এটি সংখ্যা বা পরিমাণ সংগ্রহের জন্য ব্যবহৃত হয়।
1.1 ব্যবহার
<?php
// MySQL সার্ভারে সংযোগ স্থাপন
$conn = new mysqli("localhost", "root", "", "testdb");
// চেক করা যদি সংযোগ সফল হয়
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// SQL কোয়েরি (SUM)
$sql = "SELECT SUM(amount) AS total_amount FROM orders";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// রেজাল্ট দেখানো
$row = $result->fetch_assoc();
echo "Total Amount: " . $row['total_amount'];
} else {
echo "0 results";
}
$conn->close();
?>
এখানে:
SUM(amount)কলামের সমস্ত মান যোগ করে এবংtotal_amountনামে এক নতুন কলাম তৈরি করে।- যদি
ordersটেবিলটি মোট ১০০০ টাকা ধারণ করে, তবে আউটপুট হবে:Total Amount: 1000
2. COUNT() Function
COUNT() ফাংশন একটি নির্দিষ্ট কলামে কতটি রেকর্ড আছে তা গণনা করে। এটি সংখ্যা গণনার জন্য উপযুক্ত, যেমন- কতজন ব্যবহারকারী রেজিস্টার করেছেন বা কতটি অর্ডার জমা পড়েছে।
2.1 ব্যবহার
<?php
// MySQL সার্ভারে সংযোগ স্থাপন
$conn = new mysqli("localhost", "root", "", "testdb");
// চেক করা যদি সংযোগ সফল হয়
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// SQL কোয়েরি (COUNT)
$sql = "SELECT COUNT(id) AS total_orders FROM orders";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// রেজাল্ট দেখানো
$row = $result->fetch_assoc();
echo "Total Orders: " . $row['total_orders'];
} else {
echo "0 results";
}
$conn->close();
?>
এখানে:
COUNT(id)টেবিলেরidকলামের মোট রেকর্ড সংখ্যা গণনা করে এবংtotal_ordersনামে একটি নতুন কলাম তৈরি হয়।- যদি
ordersটেবিলে ৫টি অর্ডার থাকে, তবে আউটপুট হবে:Total Orders: 5
3. AVG() Function
AVG() ফাংশন একটি নির্দিষ্ট কলামের গড় মান বের করে। এটি সাধারণত পরিমাণ বা মূল্য নির্ধারণের জন্য ব্যবহৃত হয়।
3.1 ব্যবহার
<?php
// MySQL সার্ভারে সংযোগ স্থাপন
$conn = new mysqli("localhost", "root", "", "testdb");
// চেক করা যদি সংযোগ সফল হয়
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// SQL কোয়েরি (AVG)
$sql = "SELECT AVG(amount) AS average_amount FROM orders";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// রেজাল্ট দেখানো
$row = $result->fetch_assoc();
echo "Average Order Amount: " . $row['average_amount'];
} else {
echo "0 results";
}
$conn->close();
?>
এখানে:
AVG(amount)কলামের সমস্ত মানের গড় বের করে এবংaverage_amountনামে একটি নতুন কলাম তৈরি করে।- যদি
ordersটেবিলে বিভিন্ন পরিমাণের ৫টি অর্ডার থাকে, তবে আউটপুট হবে:Average Order Amount: 250
4. Multiple Aggregation Functions
একই SQL কোয়েরিতে একাধিক aggregation function ব্যবহার করা সম্ভব। যেমন, আপনি SUM(), COUNT(), এবং AVG() একসাথে ব্যবহার করতে পারেন।
4.1 ব্যবহার
<?php
// MySQL সার্ভারে সংযোগ স্থাপন
$conn = new mysqli("localhost", "root", "", "testdb");
// চেক করা যদি সংযোগ সফল হয়
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// SQL কোয়েরি (Multiple Aggregation Functions)
$sql = "SELECT SUM(amount) AS total_amount, COUNT(id) AS total_orders, AVG(amount) AS average_amount FROM orders";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// রেজাল্ট দেখানো
$row = $result->fetch_assoc();
echo "Total Amount: " . $row['total_amount'] . "<br>";
echo "Total Orders: " . $row['total_orders'] . "<br>";
echo "Average Order Amount: " . $row['average_amount'];
} else {
echo "0 results";
}
$conn->close();
?>
এখানে:
- তিনটি aggregation function ব্যবহার করা হয়েছে:
SUM(amount),COUNT(id), এবংAVG(amount)। - আউটপুট হবে:
Total Amount: 1000Total Orders: 5Average Order Amount: 200
5. GROUP BY Clause with Aggregation Functions
Aggregation functions সাধারণত GROUP BY ক্লজের সঙ্গে ব্যবহার করা হয়, যাতে ডেটাকে গ্রুপ করে তাদের উপর aggregation করা যায়।
5.1 ব্যবহার
<?php
// MySQL সার্ভারে সংযোগ স্থাপন
$conn = new mysqli("localhost", "root", "", "testdb");
// চেক করা যদি সংযোগ সফল হয়
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// SQL কোয়েরি (GROUP BY)
$sql = "SELECT customer_id, SUM(amount) AS total_spent FROM orders GROUP BY customer_id";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// রেজাল্ট দেখানো
while($row = $result->fetch_assoc()) {
echo "Customer ID: " . $row['customer_id'] . " - Total Spent: " . $row['total_spent'] . "<br>";
}
} else {
echo "0 results";
}
$conn->close();
?>
এখানে:
GROUP BY customer_idব্যবহার করে প্রতিটি গ্রাহকের জন্য তাদের মোট খরচ (SUM) দেখানো হচ্ছে।
সারাংশ
Aggregation Functions (যেমন: SUM(), COUNT(), AVG()) PHP-এ MySQL ডেটাবেসের ডেটাকে বিভিন্ন দৃষ্টিকোণ থেকে বিশ্লেষণ এবং প্রক্রিয়া করার জন্য ব্যবহৃত হয়। এগুলি সাধারণত রেকর্ডের পরিমাণ, গড় মান, যোগফল ইত্যাদি নির্ধারণ করতে সহায়তা করে। GROUP BY এবং একাধিক aggregation function একসাথে ব্যবহার করলে আরও শক্তিশালী বিশ্লেষণ সম্ভব হয়।
Read more