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

MySQL-এ আজকের তারিখ থেকে নিকটতম ডেট নির্বাচন করা

ধরুন আজকের তারিখ 2019-07-25। আমরা একটি টেবিল তৈরি করব যেখানে ShippingDate থাকে।

প্রথমে একটি টেবিল তৈরি করি:

mysql> create table DemoTable667(ShippingDate datetime);
Query OK, 0 rows affected (0.46 sec)

কিছু রেকর্ড ইনসার্ট করি:

mysql> insert into DemoTable667 values('2019-01-31');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable667 values('2019-07-19');
Query OK, 1 row affected (0.69 sec)
mysql> insert into DemoTable667 values('2019-07-23');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable667 values('2019-08-24');
Query OK, 1 row affected (0.15 sec)

সব রেকর্ড দেখি:

mysql> select *from DemoTable667;

আউটপুট:

+---------------------+
| ShippingDate        |
+---------------------+
| 2019-01-31 00:00:00 |
| 2019-07-19 00:00:00 |
| 2019-07-23 00:00:00 |
| 2019-08-24 00:00:00 |
+---------------------+
4 rows in set (0.00 sec)

আজকের তারিখ থেকে নিকটতম ভবিষ্যৎ ডেট বের করার ক্যোয়ারি:

mysql> select ShippingDate
    from DemoTable667
    where date(ShippingDate) = (select min(date(ShippingDate))
        from DemoTable667
        where date(ShippingDate) > date(now())
    );

আউটপুট (2019-07-23 আজকের 2019-07-25 থেকে নিকটতম অতীতে, কিন্তু ক্যোয়ারিটি ভবিষ্যৎ ডেট খুঁজছে। নোট: উদাহরণে ডেটা অনুযায়ী আউটপুট 2019-07-23 দেখানো হয়েছে, যা ত্রুটি। সঠিক ক্যোয়ারি ভবিষ্যৎ ডেটের জন্য):

+---------------------+
| ShippingDate        |
+---------------------+
| 2019-08-24 00:00:00 |
+---------------------+
1 row in set (0.00 sec)

সঠিক লজিক: সাবকোয়েরি date(ShippingDate) > date(now()) শর্ত দিয়ে ভবিষ্যৎ ডেটগুলো ফিল্টার করে, তারপর MIN() নিয়ে সবচেয়ে নিকটতম ভবিষ্যৎ ডেট বের করে।

  1. MySQL-এ ডেটার তালিকা থেকে বর্তমান তারিখ বের করা

  2. MySQL-এ একাধিক SELECT স্টেটমেন্টের ফলাফল একসাথে পাওয়া (UNION ALL)

  3. MySQL কোয়েরি: 00:00 থেকে আজকের তারিখ পর্যন্ত ডেটা নির্বাচন করা

  4. MySQL-এ DATE_FORMAT() ব্যবহার করে ডেটকে টেক্সট ফরম্যাটে কনভার্ট করা