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

MySQLで現在の日、月、年のレコードをフィルタリングしますか?


サンプルのいくつかの値を格納したUserLoginTime列を持つテーブルがあるとします。これはユーザーのログイン時間であり、現在の日、月、年、つまり現在の日付に基づいてこれらすべてのレコードをフィルタリングする必要があります。

上記で説明したテーブルを作成しましょう

mysql> create table userLoginInformation
   - > (
   - > UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   - > UserName varchar(20),
   - > UserLoginTime datetime
   - > );
Query OK, 0 rows affected (0.79 sec)
>

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。

クエリは次のとおりです

mysql> insert into userLoginInformation(UserName,UserLoginTime) values('John','2016-02-12');
Query OK, 1 row affected (0.18 sec)
mysql> insert into userLoginInformation(UserName,UserLoginTime) values('Carol','2019-01-31');
Query OK, 1 row affected (0.16 sec)
mysql> insert into userLoginInformation(UserName,UserLoginTime) values('Bob','2019-02-19');
Query OK, 1 row affected (0.12 sec)
mysql> insert into userLoginInformation(UserName,UserLoginTime) values('Sam','2018-02-19');
Query OK, 1 row affected (0.16 sec)
mysql> insert into userLoginInformation(UserName,UserLoginTime) values('Larry','2017-04-18');
Query OK, 1 row affected (0.18 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示します。

クエリは次のとおりです

mysql> select *from userLoginInformation;

以下は出力です

+--------+----------+---------------------+
| UserId | UserName | UserLoginTime       |
+--------+----------+---------------------+
|      1 | John     | 2016-02-12 00:00:00 |
|      2 | Carol    | 2019-01-31 00:00:00 |
|      3 | Bob      | 2019-02-19 00:00:00 |
|      4 | Sam      | 2018-02-19 00:00:00 |
|      5 | Larry    | 2017-04-18 00:00:00 |
+--------+----------+---------------------+
5 rows in set (0.00 sec)

ここで、YEAR()とnow()を使用して、現在の日付に基づいてレコードをフィルタリングします。ここでは、now()を使用して現在の日付を取得しています

mysql> select *from userLoginInformation where YEAR(UserLoginTime)=YEAR(now());

以下は出力です

+--------+----------+---------------------+
| UserId | UserName | UserLoginTime       |
+--------+----------+---------------------+
|      2 | Carol    | 2019-01-31 00:00:00 |
|      3 | Bob      | 2019-02-19 00:00:00 |
+--------+----------+---------------------+
2 rows in set (0.00 sec)

  1. PHP MySQLのタイムスタンプから日/月/年を抽出しますか?

    タイムスタンプから日/月/年を抽出するには、date_parse()関数を使用する必要があります。構文は次のとおりです- print_r(date_parse(“anyTimeStampValue”)); PHPコードは次のとおりです- $yourTimeStampValue="2019-02-04 12:56:50"; print_r(date_parse($yourTimeStampValue)); PHPコードのスナップショットは次のとおりです- 以下は出力です- Array ( [year] => 2019 [month]

  2. MySQLで今月のレコードを合計する方法は?

    今月のレコードを合計するには、SUM()およびMONTH()関数を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1889    (    DueDate date,    Amount int    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1889 values('2019-1