র্যান্ডমের জন্য RAND() মেথড এবং রো সীমাবদ্ধ করতে LIMIT() মেথড ব্যবহার করুন।
প্রথমে একটি টেবিল তৈরি করা যাক:
mysql> create table DemoTable -> ( -> ShippingDate datetime -> ); Query OK, 0 rows affected (0.51 sec)
টেবিলে ২৯টি রেকর্ড ইনসার্ট করুন (ভিন্ন তারিখ):
mysql> insert into DemoTable values('2019-01-01'); Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('2019-01-03'); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('2019-01-05'); Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('2019-01-07'); Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('2019-02-02'); Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('2019-02-04'); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('2019-02-12'); Query OK, 1 row affected (0.07 sec)
mysql> insert into DemoTable values('2019-02-24'); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('2019-02-25'); Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('2019-03-10'); Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('2019-03-11'); Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('2019-03-12'); Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values('2019-03-14'); Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('2019-03-16'); Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('2019-03-18'); Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values('2019-03-20'); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('2019-03-25'); Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('2019-03-28'); Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('2019-03-29'); Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values('2019-04-03'); Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values('2019-04-03'); Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('2019-04-04'); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('2019-04-06'); Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('2019-04-09'); Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('2019-05-01'); Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable values('2019-05-13'); Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable values('2019-05-15'); Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('2019-05-16'); Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('2019-05-18'); Query OK, 1 row affected (0.20 sec)
টেবিলের সকল রেকর্ড দেখান:
mysql> select *from DemoTable;
আউটপুট
এটি ২৯টি রো দেখাবে (সংক্ষেপে):
+---------------------+ | ShippingDate | +---------------------+ | 2019-01-01 00:00:00 | | 2019-01-03 00:00:00 | | ... | | 2019-05-18 00:00:00 | +---------------------+ 29 rows in set (0.00 sec)
২০টি সাম্প্রতিক রো থেকে ৫টি র্যান্ডম রো বের করার কোয়ারী (সাবকোয়ারী + RAND + LIMIT):
mysql> select tbl1.* from (select *from DemoTable ORDER BY ShippingDate DESC LIMIT 20 ) as tbl1 -> ORDER BY RAND() LIMIT 5;
আউটপুট
এটি নিচের আউটপুট দেবে (র্যান্ডমলি ৫টি সাম্প্রতিক তারিখ):
+---------------------+ | ShippingDate | +---------------------+ | 2019-03-14 00:00:00 | | 2019-05-13 00:00:00 | | 2019-03-25 00:00:00 | | 2019-05-16 00:00:00 | | 2019-03-10 00:00:00 | +---------------------+ 5 rows in set (0.04 sec)