最初に過去3か月で注文し、次にMySQLでアルファベット順に注文しますか?
まずテーブルを作成しましょう-
mysql> create table DemoTable1526 -> ( -> CustomerName varchar(20), -> PurchaseDate date -> ); Query OK, 0 rows affected (0.67 sec)
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。ここに、2019年の日付を挿入しました-
mysql> insert into DemoTable1526 values('Adam','2019-06-01'); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable1526 values('Sam','2019-04-26'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable1526 values('Chris','2019-05-24'); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable1526 values('David','2019-10-10'); Query OK, 1 row affected (0.23 sec) mysql> insert into DemoTable1526 values('Bob','2019-12-31'); Query OK, 1 row affected (0.23 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select * from DemoTable1526;
これにより、次の出力が生成されます-
+--------------+--------------+ | CustomerName | PurchaseDate | +--------------+--------------+ | Adam | 2019-06-01 | | Sam | 2019-04-26 | | Chris | 2019-05-24 | | David | 2019-10-10 | | Bob | 2019-12-31 | +--------------+--------------+ 5 rows in set (0.00 sec)
現在の日付は次のとおりです-
mysql> select curdate(); +------------+ | curdate() | +------------+ | 2019-10-08 | +------------+ 1 row in set (0.00 sec)
2019年の最初の最後の3か月までに注文し、次にアルファベット順に注文するクエリは次のとおりです-
mysql> select * from DemoTable1526 -> order by PurchaseDate > curdate() - interval 3 month desc,CustomerName;
これにより、次の出力が生成されます-
+--------------+--------------+ | CustomerName | PurchaseDate | +--------------+--------------+ | Bob | 2019-12-31 | | David | 2019-10-10 | | Adam | 2019-06-01 | | Chris | 2019-05-24 | | Sam | 2019-04-26 | +--------------+--------------+ 5 rows in set (0.00 sec)
-
PostgreSQLでMySQLのORDERBYFIELD()をシミュレートしますか?
以下は、PostgreSQLでMySQLのORDER BY FIELD()をシミュレートするプロセスです。 オンラインコンパイラを使用してPostgreSQLを実行しました。 出力を取得するために上記で行ったことを見てみましょう。 まず、テーブルを作成しました。 create table PostgreOrderIdDemo ( countryName varchar(20) );を作成します INSERTコマンドを使用してレコードを挿入しました。 insert into PostgreOrderIdDemo values('IND');
-
最初に値に基づいてアイテムを選択し、次にMySQLの残りのレコードの日付に基づいて注文します
ORDER BYを使用してレコードを修正し、表示します select * from yourTableName order by yourColumnName1=yourValue desc,yourColumnName2; まずテーブルを作成しましょう- mysql> create table DemoTable1932 ( UserName varchar(20), ShippingDate date ); Query OK, 0 rows affected (0.00 sec)