MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで過去1時間に追加された行を取得しますか?


MySQLのdate-sub()およびnow()関数を使用して、過去1時間に追加された行をフェッチできます。

構文

構文は次のとおりです-

select *from yourTableName
where yourDateTimeColumnName <=date_sub(now(),interval 1 hour);

上記のクエリは、過去1時間に追加された結果を示します。上記の概念を理解するために、最初にテーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table LastHourRecords
-> (
-> Id int,
-> Name varchar(100),
-> Login datetime
-> );
Query OK, 0 rows affected (0.67 sec)

挿入コマンドを使用して、日時の形式でレコードを挿入します。レコードを挿入するためのクエリは次のとおりです-

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)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです-

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)

過去1時間に追加された行をフェッチするクエリを見てみましょう-

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)

  1. MySQLから最後の10行を選択するにはどうすればよいですか?

    MySQLから最後の10行を選択するには、SELECTステートメントとLimitの概念でサブクエリを使用できます。以下は例です。 テーブルを作成します。 mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) テーブルにレコードを挿入します。 mysql> insert into Last10RecordsDemo values(1,John),(

  2. MySQL-同じIDのSUM行?

    同じIDの行を合計するには、GROUPBYHAVING句を使用します。 テーブルを作成しましょう- 例 mysql> create table demo84    -> (    -> id int,    -> price int    -> )    -> ; Query OK, 0 rows affected (0.60 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 例 mysql> insert into demo84