MySQLレコードをランダムに並べ替え、名前を昇順で表示します
サブクエリを使用してランダムに並べ替え、名前を昇順で表示できます。 rand()はランダムに使用されますが、ORDERBYは名前レコードを昇順で表示するために使用されます。構文は次のとおりです-
select *from ( select *from yourTableName order by rand() limit anyIntegerValue; ) anyVariableName order by yourColumnName;
上記の概念を理解するために、テーブルを作成しましょう。名前として販売するIDがあり、昇順で必要です。テーブルを作成するためのクエリは次のとおりです-
mysql> create table OrderByRandName −> ( −> Id int, −> Name varchar(100) −> ); Query OK, 0 rows affected (0.96 sec)
挿入コマンドを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです-
mysql> insert into OrderByRandName values(100,'John'); Query OK, 1 row affected (0.18 sec) mysql> insert into OrderByRandName values(101,'Bob'); Query OK, 1 row affected (0.11 sec) mysql> insert into OrderByRandName values(102,'Johnson'); Query OK, 1 row affected (0.19 sec) mysql> insert into OrderByRandName values(103,'David'); Query OK, 1 row affected (0.22 sec) mysql> insert into OrderByRandName values(104,'Smith'); Query OK, 1 row affected (0.17 sec) mysql> insert into OrderByRandName values(105,'Taylor'); Query OK, 1 row affected (0.20 sec) mysql> insert into OrderByRandName values(106,'Sam'); Query OK, 1 row affected (0.12 sec) mysql> insert into OrderByRandName values(107,'Robert'); Query OK, 1 row affected (0.22 sec) mysql> insert into OrderByRandName values(108,'Michael'); Query OK, 1 row affected (0.16 sec) mysql> insert into OrderByRandName values(109,'Mark'); Query OK, 1 row affected (0.17 sec)
selectステートメントを使用してすべてのレコードを表示します。クエリは次のとおりです-
mysql> select *from OrderByRandName;
以下は出力です-
+------+---------+ | Id | Name | +------+---------+ | 100 | John | | 101 | Bob | | 102 | Johnson | | 103 | David | | 104 | Smith | | 105 | Taylor | | 106 | Sam | | 107 | Robert | | 108 | Michael | | 109 | Mark | +------+---------+ 10 rows in set (0.00 sec)
これは、rand()で並べ替え、名前を昇順で表示するクエリです-
mysql> select *from −> ( −> select *from OrderByRandName order by rand() limit 10 −> )tbl1 −> order by Name;
以下は出力です-
+------+---------+ | Id | Name | +------+---------+ | 101 | Bob | | 103 | David | | 100 | John | | 102 | Johnson | | 109 | Mark | | 108 | Michael | | 107 | Robert | | 106 | Sam | | 104 | Smith | | 105 | Taylor | +------+---------+ 10 rows in set (0.39 sec)
-
MySQLでレコードを注文してn行を削除する
最初にテーブルを作成しましょう- mysql> create table DemoTable -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> FirstName varchar(20) -> ); Query OK, 0 rows affected (0.65 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable
-
MySQLを特定の列xで並べ替え、残りの値を昇順で表示します
まずテーブルを作成しましょう- mysql> create table DemoTable -> ( -> MonthNumber int -> ); Query OK, 0 rows affected (1.68 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(10); Query OK, 1 row affected (0.14 sec) mysql> insert into