MySQLの2つの異なる列を使用したカスタムソート?
このためには、CASEステートメントとともにORDERBY句を使用します。まずテーブルを作成しましょう-
mysql> create table DemoTable1610 -> ( -> Marks int, -> Name varchar(20) -> ) ; Query OK, 0 rows affected (0.51 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable1610 values(85,'John'); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable1610 values(78,'Carol'); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable1610 values(78,'John'); Query OK, 1 row affected (0.22 sec) mysql> insert into DemoTable1610 values(85,'Carol'); Query OK, 1 row affected (0.20 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select * from DemoTable1610;
これにより、次の出力が生成されます
+-------+-------+ | Marks | Name | +-------+-------+ | 85 | John | | 78 | Carol | | 78 | John | | 85 | Carol | +-------+-------+ 4 rows in set (0.00 sec)
これは、MySQLの2つの異なる列を使用してカスタムソートするためのクエリです-
mysql> select * from DemoTable1610 -> order by Marks,case when Name='Carol' then 1 else 0 end;
これにより、次の出力が生成されます
+-------+-------+ | Marks | Name | +-------+-------+ | 78 | John | | 78 | Carol | | 85 | John | | 85 | Carol | +-------+-------+ 4 rows in set (0.00 sec)
-
MySQLテーブルの2つの列にfloat値を分割しますか?
浮動小数点値を2列に分割するために、最初の列は小数点以下の値になります。 2番目の列には、小数点以下の値があります。このために、CAST()と一緒にSUBSTRING_INDEX()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1951 ( Value1 varchar(20) ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> ins
-
カスタム関数を使用してMySQLで日付を検証する
MySQLで日付を検証するカスタム関数を作成しましょう- mysql> set global log_bin_trust_function_creators=1; Query OK, 0 rows affected (0.03 sec) mysql> delimiter // mysql> create function isValidDate(actualDate varchar(255)) returns int -> begin -> declare flag int; ->