ধরুন আজকের তারিখ 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() নিয়ে সবচেয়ে নিকটতম ভবিষ্যৎ ডেট বের করে।