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

一連の数字の最初の数字で並べ替えるMySQLクエリ?


一連の番号の最初の番号で並べ替えるには、ORDER BY SUBSTRING_INDEX()を使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable
(
   SetOfNumbers text
);
Query OK, 0 rows affected (0.53 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values('245,654,76,89,98');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('2000,567,9090,6789');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('1001,90595,657,99');
Query OK, 1 row affected (0.20 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+--------------------+
| SetOfNumbers       |
+--------------------+
| 245,654,76,89,98   |
| 2000,567,9090,6789 |
| 1001,90595,657,99  |
+--------------------+
3 rows in set (0.00 sec)

以下は、一連の数字の最初の数字で並べ替えるクエリです-

mysql> select *from DemoTable order by cast(substring_index(SetOfNumbers,',',1) as unsigned);

これにより、次の出力が生成されます-

+--------------------+
| SetOfNumbers       |
+--------------------+
| 245,654,76,89,98   |
| 1001,90595,657,99  |
| 2000,567,9090,6789 |
+--------------------+
3 rows in set (0.00 sec)

  1. モジュラス結果に基づいてORDERBYレコードへのMySQLクエリ

    このためには、剰余演算子とともにORDERBYを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable (    StudentId int,    StudentName varchar(100) ); Query OK, 0 rows affected (1.88 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(100,'Chris'); Query OK, 1 row a

  2. データベース内のテーブルの数を表示するためのMySQLクエリとは何ですか?

    たとえば、ここではWEBデータベースを使用しています。データベースWEBでテーブルの数を見つける必要があります。これには、MySQLのINFORMATION_SCHEMA.TABLESを使用します。 以下は、テーブルの数を表示するためのクエリです- mysql> select count(table_name) as TotalNumberOfTablesInWebDatabase    -> from information_schema.tables    -> where table_schema='web';