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

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 DemoTable values(1);
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values(9);
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values(6);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(8);
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values(5);
Query OK, 1 row affected (0.11 sec)

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

mysql> select * from DemoTable;

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

+-------------+
| MonthNumber |
+-------------+
|          10 |
|           1 |
|           9 |
|           6 |
|           8 |
|           5 |
+-------------+
6 rows in set (0.00 sec)

以下は、特定の列で並べ替え、残りのレコードを昇順で表示するためのクエリです-

mysql> select * from DemoTable
   -> order by MonthNumber=5 desc,MonthNumber asc;

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

+-------------+
| MonthNumber |
+-------------+
|           5 |
|           1 |
|           6 |
|           8 |
|           9 |
|          10 |
+-------------+
6 rows in set (0.00 sec)

  1. MySQLで重複する列の値を見つけて、それらを表示します

    これには、GROUPBYHAVING句を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1858      (      ModelNumber varchar(50)      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1858 values('Audi A4'

  2. 特定の列の値を修正し、MySQLの残りの行のランダムな値を表示します

    ランダムな行の場合はRAND()を使用できますが、特定の列を修正するにはORDERBY句を使用します。テーブルを作成しましょう- mysql> create table DemoTable1921    (    Number int    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1921 values(40); Query OK, 1 row affecte