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

現在の日と月で注文するMySQLクエリ?


このために、ORDERBYCASEステートメントを使用できます。まずテーブルを作成しましょう-

mysql> create table DemoTable
(
   DueDate date
);
Query OK, 0 rows affected (0.56 sec)

−現在の日付が2019-07-22だとします。

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values('2019-03-10');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('2019-08-25');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('2019-06-01');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values('2019-12-31');
Query OK, 1 row affected (0.17 sec)

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

mysql> select *from DemoTable;

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

+------------+
| DueDate    |
+------------+
| 2019-03-10 |
| 2019-08-25 |
| 2019-06-01 |
| 2019-12-31 |
+------------+
4 rows in set (0.00 sec)

以下は、日と月で注文するクエリです-

mysql> select *from DemoTable order by case when DueDate > curdate() then 0 else 1 end, DueDate;

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

+------------+
| DueDate    |
+------------+
| 2019-08-25 |
| 2019-12-31 |
| 2019-03-10 |
| 2019-06-01 |
+------------+
4 rows in set (0.00 sec)

  1. MySQLで条件付きのクエリを注文して選択する方法は?

    以下は構文です- select * from yourTableName order by yourColumnName=0,yourColumnName; まずテーブルを作成しましょう- mysql> create table DemoTable1348    -> (    -> Amount int    -> ); Query OK, 0 rows affected (0.80 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into

  2. MySQLで現在の日付と月を比較する日付レコードを取得します

    これには、MONTH()とDAY()を使用します。まず、-を作成しましょう mysql> create table DemoTable1429    -> (    -> AnniversaryDate date    -> ); insert-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1429 values('2019-09-29'); Query OK, 1 row affected (0.09 sec) mysql