最初に負の値を降順で設定し、次に正の値を昇順で設定するMySQLクエリ
このために、UNIONを使用できます。まずテーブルを作成しましょう-
mysql> create table DemoTable -> ( -> Number int -> ); Query OK, 0 rows affected (1.17 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable values(10); Query OK, 1 row affected (0.23 sec) mysql> insert into DemoTable values(100); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values(-9); Query OK, 1 row affected (0.21 sec) mysql> insert into DemoTable values(-190); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values(190); Query OK, 1 row affected (0.22 sec) mysql> insert into DemoTable values(0); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable values(140); Query OK, 1 row affected (0.16 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
出力
これにより、次の出力が生成されます-
+--------+ | Number | +--------+ | 10 | | 100 | | -9 | | -190 | | 190 | | 0 | | 140 | +--------+ 7 rows in set (0.00 sec)
以下は、負の値を降順で表示し、次に正の値を昇順で表示するためのクエリです。最初は、0 −
を表示していますmysql> (select *from DemoTable where Number=0) -> union -> (select *from DemoTable where Number < 0 order by Number desc) -> union -> (select *from DemoTable where Number > 0 order by Number);
出力
これにより、次の出力が生成されます-
+--------+ | Number | +--------+ | 0 | | -9 | | -190 | | 10 | | 100 | | 190 | | 140 | +--------+ 7 rows in set (0.03 sec)
-
最初に過去3か月で注文し、次にMySQLでアルファベット順に注文しますか?
まずテーブルを作成しましょう- mysql> create table DemoTable1526 -> ( -> CustomerName varchar(20), -> PurchaseDate date -> ); Query OK, 0 rows affected (0.67 sec) 挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。ここに、2019年の日付を挿入しました- mysql> insert into DemoTabl
-
最初の値にラップアラウンドし、MySQL ORDERBYASCとDESCを単一のクエリで実装します
最初にテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Value int -> ); Query OK, 0 rows affected (3.21 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(20); Query OK, 1 row affected (0.78 sec) mysql> insert into Demo