কম্পিউটার টিউটোরিয়াল

MySQL-এ ফাংশন বানাতে কলামের গড় মান বের করা

স্ট্রোড ফাংশন (STORED FUNCTION) তৈরি করে নির্দিষ্ট শর্তের গড় মান (AVG) রিটার্ন করা যায়।

উদাহরণ:

টেবিল তৈরি:

CREATE TABLE DemoTable638 (Name VARCHAR(100), Marks INT);

রেকর্ড যোগ করা:

INSERT INTO DemoTable638 VALUES
('John', 67), ('John', 90), ('David', 99), ('John', 60);

সব রেকর্ড দেখানো:

SELECT * FROM DemoTable638;

আউটপুট:

+-------+-------+
| Name  | Marks |
+-------+-------+
| John  | 67    |
| John  | 90    |
| David | 99    |
| John  | 60    |
+-------+-------+

ফাংশন তৈরি (John-এর গড় মার্কস):

SET GLOBAL log_bin_trust_function_creators = 1;
DELIMITER //
CREATE FUNCTION getAverageDemo() RETURNS INT
BEGIN
    DECLARE value INT;
    SELECT AVG(Marks) INTO value FROM DemoTable638 WHERE Name = 'John';
    RETURN value;
END //
DELIMITER ;

ফাংশন কল:

SELECT getAverageDemo();

ফলাফল:

+------------------+
| getAverageDemo() |
+------------------+
| 72               |

ব্যাখ্যা: (67+90+60)/3 = 72.333 → INT রিটার্ন টাইপের কারণে ৭২। log_bin_trust_function_creators = 1 বাইনারি লগিংয় থাকলে ফাংশন তৈরির জন্য দরকার। DETERMINISTIC কিওয়ার্ড যোগ করলে অপ্টিমাইজেশন হয়। ফাংশনে প্যারামিটার নিলে (যেমন name VARCHAR(100)) আরও রিয়ูজেবল হতো।

  1. MySQL-এ নির্দিষ্ট কলামের মানগুচ্ছের আকার বের করা এবং যোগফল দেখানো

  2. MySQL-এ TRIM() ব্যবহার করে ট্রেইলিং আন্ডারস্কোর (_) মুছে ফেলা

  3. MySQL-এ GROUP BY HAVING ব্যবহার করে ডুপ্লিকেট কলাম মান বের করা

  4. MySQL-এ কলামের সর্বোচ্চ মান বের করা (Find Maximum Value in a Column)