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

条件に基づいて月と年ごとに結果を取得するMySQLクエリ?


WHERE句とともにOR条件を使用する必要があります。まずテーブルを作成しましょう-

mysql> create table DemoTable
   (
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   MonthNumber int,
   YearNumber int
   );
Query OK, 0 rows affected (0.22 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable(MonthNumber,YearNumber) values(11,2018);
Query OK, 1 row affected (0.10 sec)

mysql> insert into DemoTable(MonthNumber,YearNumber) values(3,2019);
Query OK, 1 row affected (0.12 sec)

mysql> insert into DemoTable(MonthNumber,YearNumber) values(12,2018);
Query OK, 1 row affected (0.08 sec)

mysql> insert into DemoTable(MonthNumber,YearNumber) values(1,2019);
Query OK, 1 row affected (0.06 sec)

mysql> insert into DemoTable(MonthNumber,YearNumber) values(12,2019);
Query OK, 1 row affected (0.10 sec)

mysql> insert into DemoTable(MonthNumber,YearNumber) values(6,2018);
Query OK, 1 row affected (0.12 sec)

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

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+----+-------------+------------+
| Id | MonthNumber | YearNumber |
+----+-------------+------------+
| 1  | 11          | 2018       |
| 2  | 3           | 2019       |
| 3  | 12          | 2018       |
| 4  | 1           | 2019       |
| 5  | 12          | 2019       |
| 6  | 6           | 2018       |
+----+-------------+------------+
6 rows in set (0.00 sec)

以下は、月と年ごとに結果を取得するためのクエリです-

mysql> select Id,MonthNumber,YearNumber from DemoTable
where (MonthNumber >= 11 AND YearNumber = 2019)
OR
(MonthNumber <=11 AND YearNumber = 2018);

これにより、次の出力が生成されます-

+----+-------------+------------+
| Id | MonthNumber | YearNumber |
+----+-------------+------------+
| 1  | 11          | 2018       |
| 5  | 12          | 2019       |
| 6  | 6           | 2018       |
+----+-------------+------------+
3 rows in set (0.00 sec)

  1. 条件に基づいてさまざまなフィールドを更新するMySQLクエリ?

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

  2. MySQLは特定の月と年に基づいてレコードをフェッチしますか?

    これには、MONTH()とYEAR()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1846      (      PurchaseDate date      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1846 values('2019-01-10');