MySQLのソート文字列番号?
文字列番号をソートするには、MySQLのCAST()関数を使用します。構文は次のとおりです-
SELECT *FROM yourTableName ORDER BY (yourColumnName as Decimal(integerValue,integerValueAfterDecimalPoint)) desc;
上記の構文を理解するために、最初にテーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-
mysql> create table SortingStringDemo -> ( -> Amount varchar(10) -> ); Query OK, 0 rows affected (0.91 sec)
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです。
mysql> insert into SortingStringDemo values('12.34'); Query OK, 1 row affected (0.21 sec) mysql> insert into SortingStringDemo values('124.50'); Query OK, 1 row affected (0.56 sec) mysql> insert into SortingStringDemo values('9.59'); Query OK, 1 row affected (0.20 sec) mysql> insert into SortingStringDemo values('150.68'); Query OK, 1 row affected (0.17 sec) mysql> insert into SortingStringDemo values('600.54'); Query OK, 1 row affected (0.11 sec)
selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです。
mysql> select *from SortingStringDemo;
以下は出力です。
+--------+ | Amount | +--------+ | 12.34 | | 124.50 | | 9.59 | | 150.68 | | 600.54 | +--------+ 5 rows in set (0.00 sec)
文字列番号を降順で並べ替えるクエリは次のとおりです。
mysql> select *from SortingStringDemo order by cast(Amount as Decimal(6,2)) desc;
以下は出力です。
+--------+ | Amount | +--------+ | 600.54 | | 150.68 | | 124.50 | | 12.34 | | 9.59 | +--------+ 5 rows in set (0.00 sec)
-
文字列の長さに基づいて星の数を追加する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
-
特定の最後の文字列文字でソートするMySQLクエリ?
このために、CASEステートメントを使用できます。並べ替えるには、ORDERBY句を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> ClientName varchar(20) -> ); Query OK, 0 rows affected (0.54 sec) 挿入コマンドを使用して