日時が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)
-
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'
-
単一のクエリで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