MySQLのselectorderbyは、文字列(数値ではない)のように機能しますか?
列のデータ型がvarcharの場合は、次の構文を使用できます-
select yourColumnName FROM yourTableName ORDER BY yourColumnName +0 DESC;
上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-
mysql> create table selectOrderdemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(100), -> RankNumber varchar(100) -> ); Query OK, 0 rows affected (0.55 sec)
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです-
mysql> insert into selectOrderdemo(Name,RankNumber) values('Larry',-100); Query OK, 1 row affected (0.23 sec) mysql> insert into selectOrderdemo(Name,RankNumber) values('John',50); Query OK, 1 row affected (0.13 sec) mysql> insert into selectOrderdemo(Name,RankNumber) values('Bob',0); Query OK, 1 row affected (0.14 sec) mysql> insert into selectOrderdemo(Name,RankNumber) values('Carol',-110); Query OK, 1 row affected (0.23 sec) mysql> insert into selectOrderdemo(Name,RankNumber) values('David',98); Query OK, 1 row affected (0.21 sec
selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです-
mysql> select *from selectOrderdemo;
これが出力です-
+----+-------+------------+ | Id | Name | RankNumber | +----+-------+------------+ | 1 | Larry | -100 | | 2 | John | 50 | | 3 | Bob | 0 | | 4 | Carol | -110 | | 5 | David | 98 | +----+-------+------------+ 5 rows in set (0.00 sec)
これは、番号のように機能する順序を選択するためのクエリです。
ケース1 −結果を降順で表示したい場合、クエリは次のようになります-
mysql> select RankNumber FROM selectOrderdemo ORDER BY RankNumber+0 DESC;
これが出力です-
+------------+ | RankNumber | +------------+ | 98 | | 50 | | 0 | | -100 | | -110 | +------------+ 5 rows in set (0.00 sec)
ケース2 −結果を昇順で表示する場合、クエリは次のようになります-
mysql> select RankNumber FROM selectOrderdemo ORDER BY RankNumber+0;
これが出力です-
+------------+ | RankNumber | +------------+ | -110 | | -100 | | 0 | | 50 | | 98 | +------------+ 5 rows in set (0.00 sec)
ケース3 −すべての列が必要な場合は、以下のクエリを使用してください-
mysql> select * FROM selectOrderdemo ORDER BY RankNumber+0 DESC;
これが出力です-
+----+-------+------------+ | Id | Name | RankNumber | +----+-------+------------+ | 5 | David | 98 | | 2 | John | 50 | | 3 | Bob | 0 | | 1 | Larry | -100 | | 4 | Carol | -110 | +----+-------+------------+ 5 rows in set (0.00 sec)
-
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
-
文字列の長さに基づいて星の数を追加するMySQLクエリ?
このために、RPAD()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1626 -> ( -> Name varchar(20) -> ); Query OK, 0 rows affected (0.37 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1626 values('Chris'); Query OK, 1