MySQLでカスタムソート順を実装する
MySQLでカスタムの並べ替え順序を実装するには、ORDER BY FIELD()を使用する必要があります。まずテーブルを作成しましょう-
mysql> create table DemoTable -> ( -> Designation varchar(100) -> ); Query OK, 0 rows affected (1.65 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable values('Software Engineer'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values('Associate Software Engineer'); Query OK, 1 row affected (0.25 sec) mysql> insert into DemoTable values('Software Development Engineer'); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable values('Product Manager'); Query OK, 1 row affected (0.17 sec)>
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+-------------------------------+ | Designation | +-------------------------------+ | Software Engineer | | Associate Software Engineer | | Software Development Engineer | | Product Manager | +-------------------------------+ 4 rows in set (0.00 sec)
以下は、MySQLでカスタムソート順を実装するためのクエリです-
mysql> select *from DemoTable -> order by field(Designation,'Associate Software Engineer','Software Engineer','Software Development Engineer','Product Manager');
これにより、次の出力が生成されます-
+-------------------------------+ | Designation | +-------------------------------+ | Associate Software Engineer | | Software Engineer | | Software Development Engineer | | Product Manager | +-------------------------------+ 4 rows in set (0.02 sec)
-
MySQLを使用してソート順に集計関数を呼び出す
このためには、ORDER BY句とともにGROUP_CONCAT()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1588 -> ( -> StudentId int, -> StudentFirstName varchar(20), -> StudentMarks int -> ); Query OK, 0 rows affected (0.49 sec) 挿入コマンド
-
文字列をカスタム順序で並べ替えるPythonプログラム
1つの英数字の文字列があるとします。次の条件に基づいて並べ替える必要があります ソートされたすべての小文字は大文字の前に配置されます。 ソートされた大文字はすべて数字の前に配置されます。 ソートされたすべての奇数桁は、ソートされた偶数桁の前に配置されます。 したがって、入力がs =HeLlo1234のような場合、出力はeloHL1324になります。 これを解決するには、次の手順に従います- 関数f()を定義します。これにはcがかかります コード:=0 cが大文字の場合、 コード:=10 ^ 3 それ以外の場合、cが数字の場合、 コード:=10 ^ 6