আপনি গত ঘণ্টায় যোগ করা সারিগুলি আনতে MySQL থেকে date-sub() এবং now() ফাংশন ব্যবহার করতে পারেন৷
সিনট্যাক্স
সিনট্যাক্স নিম্নরূপ -
select *from yourTableName where yourDateTimeColumnName <=date_sub(now(),interval 1 hour);
উপরের ক্যোয়ারীটি শেষ ঘন্টা যোগ করা ফলাফল দেয়। উপরের ধারণাটি বোঝার জন্য প্রথমে একটি টেবিল তৈরি করা যাক। একটি টেবিল তৈরি করার প্রশ্নটি নিম্নরূপ -
mysql> create table LastHourRecords -> ( -> Id int, -> Name varchar(100), -> Login datetime -> ); Query OK, 0 rows affected (0.67 sec)
সন্নিবেশ কমান্ড ব্যবহার করে তারিখ সময় আকারে রেকর্ড সন্নিবেশ করান। রেকর্ড সন্নিবেশ করার জন্য ক্যোয়ারী নিম্নরূপ -
LastHourRecords মানগুলিতেmysql> insert into LastHourRecords values(1,'John',' 2018-12-19 10:00:00'); Query OK, 1 row affected (0.17 sec) mysql> insert into LastHourRecords values(2,'Carol','2018-12-19 10:10:00'); Query OK, 1 row affected (0.15 sec) mysql> insert into LastHourRecords values(3,'Sam','2018-12-19 10:05:00'); Query OK, 1 row affected (0.13 sec) mysql> insert into LastHourRecords values(4,'Mike','2018-12-18 12:10:00'); Query OK, 1 row affected (0.10 sec)
সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ -
LastHourRecords থেকেmysql> select *from LastHourRecords;
আউটপুট
+------+-------+---------------------+ | Id | Name | Login | +------+-------+---------------------+ | 1 | John | 2018-12-19 10:00:00 | | 2 | Carol | 2018-12-19 10:10:00 | | 3 | Sam | 2018-12-19 10:05:00 | | 4 | Mike | 2018-12-18 12:10:00 | +------+-------+---------------------+ 4 rows in set (0.00 sec)
শেষ ঘন্টায় যোগ করা সারিগুলি আনার জন্য ক্যোয়ারী দেখি -
LastHourRecords-> থেকেmysql> select *from LastHourRecords -> where Login <=Date_sub(now(),interval 1 hour);
আউটপুট
+------+-------+---------------------+ | Id | Name | Login | +------+-------+---------------------+ | 1 | John | 2018-12-19 10:00:00 | | 2 | Carol | 2018-12-19 10:10:00 | | 3 | Sam | 2018-12-19 10:05:00 | +------+-------+---------------------+ 3 rows in set (0.00 sec)