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

mYsqlの文字の長さで文字列を並べ替えますか?


MySQLのCHAR_LENGTH()関数を使用して、文字の長さで並べ替えることができます。この関数は、文字数、つまり次の文字列の場合は4を返します-

AMIT

文字列を文字の長さで並べ替えるには、次の構文が使用されます-

select *from yourTableName order by CHAR_LENGTH(yourColumnName);

上記の概念を理解するために、最初にテーブルを作成しましょう。以下は、テーブルを作成するためのクエリです-

mysql> create table OrderByCharacterLength
   −> (
   −> BookName varchar(200)
   −> );
Query OK, 0 rows affected (1.97 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです-

mysql> insert into OrderByCharacterLength values('Let us C');
Query OK, 1 row affected (0.31 sec)

mysql> insert into OrderByCharacterLength values('Introduction to C');
Query OK, 1 row affected (0.20 sec)

mysql> insert into OrderByCharacterLength values('Data Structure And Algorithm in Java ');
Query OK, 1 row affected (0.13 sec)

mysql> insert into OrderByCharacterLength values('C in Depth');
Query OK, 1 row affected (0.17 sec)

mysql> insert into OrderByCharacterLength values('Java Projects');
Query OK, 1 row affected (0.23 sec)

上記の表に挿入されているように、すべてのレコードを順番に表示してみましょう。クエリは次のとおりです-

mysql> select *from OrderByCharacterLength;

以下は出力です-

+---------------------------------------+
| BookName                              |
+---------------------------------------+
| Let us C                              |
| Introduction to C                     |
| Data Structure And Algorithm in Java  |
| C in Depth                            |
| Java Projects                         |
+---------------------------------------+
5 rows in set (0.00 sec)

これは、文字の長さに従って配置されたすべてのレコードを表示するクエリです。列の値の長さが最小の場合、優先度が高くなり、最初に表示されます。

クエリは次のとおりです-

mysql> select *from OrderByCharacterLength order by CHAR_LENGTH(BookName);

以下は出力です-

+---------------------------------------+
| BookName                              |
+---------------------------------------+
| Let us C                              |
| C in Depth                            |
| Java Projects                         |
| Introduction to C                     |
| Data Structure And Algorithm in Java  |
+---------------------------------------+
5 rows in set (0.00 sec)

  1. 現在の日と月で注文するMySQLクエリ?

    このために、ORDERBYCASEステートメントを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable (    DueDate date ); Query OK, 0 rows affected (0.56 sec) 注 −現在の日付が2019-07-22だとします。 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('2019-03-10'); Query OK, 1 row affected (0

  2. MySQLクエリを複数のIDで並べ替えますか?

    これには、ORDER BY FIELD()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable(    ClientId varchar(40),    ClientName varchar(40) ); Query OK, 0 rows affected (0.55 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('987_John','John'); Q