MySQLの列ごとにレコードを並べ替え、最後に空のレコードを配置するにはどうすればよいですか?
列ごとの順序を取得し、最後に空のレコードを配置するには、ORDER Byを使用し、MySQLの「isnull」を使用します。構文は次のとおりです-
select *from yourTableName order by if(yourColumName = ’ ’ or yourColumName is null,1,0),yourColumnName;
上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-
mysql> create table emptyCellsAtEnd −> ( −> ProductId varchar(100) −> ); Query OK, 0 rows affected (0.65 sec)
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。これらのレコードの一部は空です。クエリは次のとおりです-
mysql> insert into emptyCellsAtEnd values(''); Query OK, 1 row affected (0.23 sec) mysql> insert into emptyCellsAtEnd values('P-1'); Query OK, 1 row affected (0.21 sec) mysql> insert into emptyCellsAtEnd values('P-2'); Query OK, 1 row affected (0.14 sec) mysql> insert into emptyCellsAtEnd values(''); Query OK, 1 row affected (0.15 sec) mysql> insert into emptyCellsAtEnd values('P-3'); Query OK, 1 row affected (0.18 sec) mysql> insert into emptyCellsAtEnd values('P-4'); Query OK, 1 row affected (0.09 sec) mysql> insert into emptyCellsAtEnd values('P-9'); Query OK, 1 row affected (0.11 sec) mysql> insert into emptyCellsAtEnd values(''); Query OK, 1 row affected (0.15 sec) mysql> insert into emptyCellsAtEnd values('P-8'); Query OK, 1 row affected (0.17 sec)
selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです-
mysql> select *from emptyCellsAtEnd;
以下は出力です-
+-----------+ | ProductId | +-----------+ | | | P-1 | | P-2 | | | | P-3 | | P-4 | | P-9 | | | | P-8 | +-----------+ 9 rows in set (0.00 sec)
これで、最初に説明した、最後に空のセルを配置するためのクエリを実装できます。最後に空のセルを配置するためのクエリは次のとおりです-
mysql> select *from emptyCellsAtEnd −> order by if(ProductId = '' or ProductId is null,1,0),ProductId;
以下は出力です-
+-----------+ | ProductId | +-----------+ | P-1 | | P-2 | | P-3 | | P-4 | | P-8 | | P-9 | | | | | | | +-----------+ 9 rows in set (0.00 sec)
-
MySQLの列からの重複レコードの数を表示し、結果を並べ替えます
このためには、列名にGROUPBYを使用する必要があります。カウントを取得するには、COUNT(*)を使用し、結果をORDERBYで並べ替えます。以下は構文です- select count(*) as anyAliasName from yourTableName group by yourColumnName order By yourAliasName DESC; まずテーブルを作成しましょう- mysql> create table DemoTable ( Number int ); Query OK, 0 rows affected (0.82 sec
-
MySQLで条件付きのクエリを注文して選択する方法は?
以下は構文です- select * from yourTableName order by yourColumnName=0,yourColumnName; まずテーブルを作成しましょう- mysql> create table DemoTable1348 -> ( -> Amount int -> ); Query OK, 0 rows affected (0.80 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into