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

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)

  1. 文字列の長さに基づいて星の数を追加する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

  2. 特定の最後の文字列文字でソートする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) 挿入コマンドを使用して