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

MySQL-এ বর্তমান দিন, মাস, বছরের রেকর্ড ফিল্টার করা

MySQL-এ ডেটাটাইম কলাম থেকে বর্তমান তারিখ (দিন, মাস, বছর) অনুযায়ী রেকর্ড ফিল্টার করতে YEAR(), MONTH(), DAY() এবং NOW() ফাংশন ব্যবহার করা হয়।

উদাহরণ

টেবিল তৈরি:

mysql> CREATE TABLE userLoginInformation (
    -> UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> UserName VARCHAR(20),
    -> UserLoginTime DATETIME
    -> );

ডেটা ইনসার্ট:

mysql> INSERT INTO userLoginInformation(UserName, UserLoginTime) VALUES('John', '2016-02-12');
mysql> INSERT INTO userLoginInformation(UserName, UserLoginTime) VALUES('Carol', '2019-01-31');
mysql> INSERT INTO userLoginInformation(UserName, UserLoginTime) VALUES('Bob', '2019-02-19');
mysql> INSERT INTO userLoginInformation(UserName, UserLoginTime) VALUES('Sam', '2018-02-19');
mysql> INSERT INTO userLoginInformation(UserName, UserLoginTime) VALUES('Larry', '2017-04-18');

সকল রেকর্ড:

mysql> SELECT * FROM userLoginInformation;
+--------+----------+---------------------+
| UserId | UserName | UserLoginTime       |
+--------+----------+---------------------+
| 1      | John     | 2016-02-12 00:00:00 |
| 2      | Carol    | 2019-01-31 00:00:00 |
| 3      | Bob      | 2019-02-19 00:00:00 |
| 4      | Sam      | 2018-02-19 00:00:00 |
| 5      | Larry    | 2017-04-18 00:00:00 |
+--------+----------+---------------------+

বর্তমান বছরের রেকর্ড (যেমন ২০১৯):

mysql> SELECT * FROM userLoginInformation WHERE YEAR(UserLoginTime) = YEAR(NOW());
+--------+----------+---------------------+
| UserId | UserName | UserLoginTime       |
+--------+----------+---------------------+
| 2      | Carol    | 2019-01-31 00:00:00 |
| 3      | Bob      | 2019-02-19 00:00:00 |
+--------+----------+---------------------+

অন্যান্য ফিল্টার:

  • বর্তমান মাস: WHERE MONTH(UserLoginTime) = MONTH(NOW()) AND YEAR(UserLoginTime) = YEAR(NOW())
  • বর্তমান দিন: WHERE DATE(UserLoginTime) = CURDATE()
  • গত ৭ দিন: WHERE UserLoginTime >= DATE_SUB(NOW(), INTERVAL 7 DAY)
পারফরম্যান্স টিপ: ফাংশন কলামে লাগালে ইন্ডেক্স ব্যবহার হয় না। বড় টেবিলে WHERE UserLoginTime >= '2019-01-01' AND UserLoginTime < '2019-02-01' রেঞ্জ কোয়েরি দ্রুত হবে।

  1. PHP MySQL-এ টাইমস্ট্যাম্প থেকে দিন/মাস/বছর বের করা

  2. MySQL에서 날짜 레코드로부터 월의 첫날과 마지막 날 구하기

  3. MySQL-এ নির্দিষ্ট মাস এবং বছরের ভিত্তিতে রেকর্ড ফিল্টার করা

  4. MySQL-এ MONTH() এবং SUM() ব্যবহার করে বর্তমান মাসের টোটাল অ্যামাউন্ট বের করা