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

MySQLを使用してニューステーブルの過去6か月のレコードを選択するにはどうすればよいですか?


ニューステーブルから過去6か月のレコードを選択するには、ニュースレコードが日付に従って配置されるため、MySQLのdate_sub()関数を使用します。

構文は次のとおりです-

select *from yourTableName where yourDateTimeColumnName >= date_sub(now(),interval 6 month);

上記の概念を理解するために、最初にNEWSIDとそれが公開された日付のみを含むNEWSテーブルを作成しましょう-

mysql> create table Newstable
   -> (
   -> NewsId int,
   -> NewsDatetime datetime
   -> );
Query OK, 0 rows affected (0.66 sec)

挿入コマンドを使用して、テーブルにレコードを挿入します。クエリは次のとおりです-

mysql> insert into Newstable values(101,'2018-2-10');
Query OK, 1 row affected (0.18 sec)

mysql> insert into Newstable values(102,'2018-12-10');
Query OK, 1 row affected (0.19 sec)

mysql> insert into Newstable values(103,'2018-3-14');
Query OK, 1 row affected (0.14 sec)

mysql> insert into Newstable values(104,'2018-12-12');
Query OK, 1 row affected (0.29 sec)

mysql> insert into Newstable values(105,'2018-4-21');
Query OK, 1 row affected (0.09 sec)

mysql> insert into Newstable values(106,'2018-6-30');
Query OK, 1 row affected (0.22 sec)

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

mysql> select *from Newstable;

出力

+--------+---------------------+
| NewsId | NewsDatetime        |
+--------+---------------------+
|    101 | 2018-02-10 00:00:00 |
|    102 | 2018-12-10 00:00:00 |
|    103 | 2018-03-14 00:00:00 |
|    104 | 2018-12-12 00:00:00 |
|    105 | 2018-04-21 00:00:00 |
|    106 | 2018-06-30 00:00:00 |
+--------+---------------------+
6 rows in set (0.00 sec)

以下は、新しいテーブルから過去6か月を選択するためのクエリです。クエリは次のとおりです-

mysql> select *from Newstable where NewsDatetime > date_sub(now(),Interval 6 month);

出力

+--------+---------------------+
| NewsId | NewsDatetime        |
+--------+---------------------+
|    102 | 2018-12-10 00:00:00 |
|    104 | 2018-12-12 00:00:00 |
|    106 | 2018-06-30 00:00: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. Javaを使用してMySQLデータベースのテーブルから最後のレコードを取得しますか?

    MySQLデータベースからデータを取得するには、JavaのexecuteQuery()メソッドを使用する必要があります。まず、MySQLデータベースにテーブルを作成します。ここでは、「サンプル」データベースに次のテーブルを作成します mysql> create table javaGetDataDemo - > ( - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, - > FirstName varchar(10), - > LastName varchar(10) - > ); Query OK, 0 rows