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

日時が1週間より前のすべてのレコードを返すMySQLクエリ


1週間より古い日付を取得するには、次の構文を使用できます-

select *from yourTableName where yourColumnName < now() - interval 1 week;

上記の概念を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table DatesOfOneWeek
   −> (
   −> ArrivalTime datetime
   −> );
Query OK, 0 rows affected (0.87 sec)

テーブルにいくつかのレコードを挿入します-

mysql> insert into DatesOfOneWeek values(date_add(now(),interval 2 week));
Query OK, 1 row affected (0.11 sec)

mysql> insert into DatesOfOneWeek values('2018-11-04');
Query OK, 1 row affected (0.14 sec)

mysql> insert into DatesOfOneWeek values('2018-11-25');
Query OK, 1 row affected (0.11 sec)

mysql> insert into DatesOfOneWeek values(date_add(now(),interval -1 week));
Query OK, 1 row affected (0.14 sec)

mysql> insert into DatesOfOneWeek values(date_add(now(),interval 1 week));
Query OK, 1 row affected (0.11 sec)

上に挿入したレコードが存在するかどうかを確認しましょう。テーブルのすべてのレコードを表示するクエリは次のとおりです-

mysql> select *from DatesOfOneWeek;

以下は出力です-

+---------------------+
| ArrivalTime         |
+---------------------+
| 2018-12-20 18:11:02 |
| 2018-11-04 00:00:00 |
| 2018-11-25 00:00:00 |
| 2018-11-29 18:11:40 |
| 2018-12-13 18:11:46 |
+---------------------+
5 rows in set (0.00 sec)

これは、過去の日付、つまり1週間より前のすべての日付を取得するためのMySQLクエリです-

mysql> select *from DatesOfOneWeek where ArrivalTime < now() - interval 1 week;

以下は出力です-

+---------------------+
| ArrivalTime         |
+---------------------+
| 2018-11-04 00:00:00 |
| 2018-11-25 00:00:00 |
| 2018-11-29 18:11:40 |
+---------------------+
3 rows in set (0.00 sec)

  1. MySQLでタイムスタンプが5分より古いレコードを削除しますか?

    これには、DELETEコマンドを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1851      (      DueDate datetime      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1851 values('2019-12-03 21:30:35'

  2. 単一のクエリでIN()を使用してMySQLテーブルからレコードを削除する

    テーブルを作成しましょう- mysql> create table DemoTable1922    (    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    StudentName varchar(20)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1922(StudentNa