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

MySQL-এ মাস অনুযায়ী টোটাল বের করা (GROUP BY MONTH)

MySQL-এ ডেট কলামের মাস অনুযায়ী গ্রুপ করে যোগফল (SUM) বের করার জন্য GROUP BY MONTH() ব্যবহার করা হয়। বর্ষও গ্রুপে রাখা ভালো প্র্যাকটিস।

টেবিল এবং ডেটা

CREATE TABLE DemoTable1628 (
    PurchaseDate DATE,
    Amount INT
);

INSERT INTO DemoTable1628 VALUES('2019-01-10',1500);
INSERT INTO DemoTable1628 VALUES('2019-10-10',2000);
INSERT INTO DemoTable1628 VALUES('2019-10-24',100);
INSERT INTO DemoTable1628 VALUES('2019-11-10',500);
INSERT INTO DemoTable1628 VALUES('2019-12-10',1600);
INSERT INTO DemoTable1628 VALUES('2019-10-10',900);

কুয়েরি

SELECT 
    MONTH(PurchaseDate) AS Month,
    YEAR(PurchaseDate) AS Year,
    SUM(Amount) AS TotalAmount
FROM DemoTable1628
GROUP BY MONTH(PurchaseDate), YEAR(PurchaseDate);

ফলাফল

+-------+------+-------------+
| Month | Year | TotalAmount |
+-------+------+-------------+
| 1     | 2019 | 1500        |
| 10    | 2019 | 3000        |
| 11    | 2019 | 500         |
| 12    | 2019 | 1600        |
+-------+------+-------------+

গুরুত্বপূর্ণ নোট

  • GROUP BY MONTH(...), YEAR(...) — বর্ষ ও মাস দুটোই গ্রুপে রাখুন, নাহলে ২০১৮ এবং ২০১৯-এর জানুয়ারি একসাথে গ্রুপ হবে
  • ORDER BY Year, Month যোগ করলে ক্রমানুসারে আসবে
  • ইন্ডেক্স ব্যবহার করতে চাইলে রেঞ্জ কুয়েরি ভালো: WHERE PurchaseDate >= '2019-01-01' AND PurchaseDate < '2020-01-01'
  1. MySQL-এ টেবিল থেকে সমান বা নিকটতম বড় সংখ্যা বের করা

  2. MySQL-এ মাস অনুযায়ী রেকর্ড সিলেক্ট করা (MONTH() ফাংশন)

  3. MySQL-এ শর্তের ভিত্তিতে নির্দিষ্ট রো ডিলিট করা (WHERE + LIMIT)

  4. MySQL-এ DISTINCT কলাম থেকে গড় (AVG) বের করা