Aggregation Functions (SUM, COUNT, AVG) ব্যবহার গাইড ও নোট

Database Tutorials - পিএইচপি মাইএসকিউএল আই (PHP MySQL) - PHP দিয়ে Complex Queries এবং Joins
307

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: 1000
    • Total Orders: 5
    • Average 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 একসাথে ব্যবহার করলে আরও শক্তিশালী বিশ্লেষণ সম্ভব হয়।


Content added By
Promotion

Are you sure to start over?

Loading...