特定の最後の文字列文字でソートする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)
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。一部のレコードには、-Dなどの特定の最後の文字列があります-
mysql> insert into DemoTable(ClientName) values('Mike'); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable(ClientName) values('John'); Query OK, 1 row affected (0.22 sec) mysql> insert into DemoTable(ClientName) values('John-D'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable(ClientName) values('John-Smith'); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable(ClientName) values('Mike-Smith'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable(ClientName) values('Mike-D'); Query OK, 1 row affected (0.15 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+----------+------------+ | ClientId | ClientName | +----------+------------+ | 1 | Mike | | 2 | John | | 3 | John-D | | 4 | John-Smith | | 5 | Mike-Smith | | 6 | Mike-D | +----------+------------+ 6 rows in set (0.00 sec)
これは、特定の最後の文字列文字で並べ替えるクエリです-
mysql> select -> case -> when right(ClientName,length(ClientName)-instr(ClientName,'-')) = `ClientName` THEN '' -> else right(`ClientName`,length(`ClientName`)-INSTR(`ClientName`,'-')) -> end as `last`, -> `ClientName` -> from -> DemoTable -> ORDER BY -> `last`,`ClientName`;>
これにより、次の出力が生成されます-
+-------+------------+ | last | ClientName | +-------+------------+ | | John | | | Mike | | D | John-D | | D | Mike-D | | Smith | John-Smith | | Smith | Mike-Smith | +-------+------------+ 6 rows in set (0.00 sec)
-
文字列内の特殊文字の前に部分文字列を表示するMySQLクエリ
MySQLでこれにLOCATE()およびSUBSTRING()メソッドを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Title text -> ); Query OK, 0 rows affected (0.54 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('Introduction To Java
-
特定の文字/数値で終わる列値を選択するためのMySQLクエリ?
まずテーブルを作成しましょう- mysql> create table DemoTable ( Number int ); Query OK, 0 rows affected (0.80 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(189); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable values(178); Query OK, 1 row affected