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

MySQLを使用して特定の順序でレコードを取得しますか?


ORDER BY IF()を使用して、特定の順序でレコードを取得できます。最初にテーブルを作成しましょう:

mysql> create table DemoTable
(
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   FirstName varchar(20),
   Branch varchar(20)
);
Query OK, 0 rows affected (1.96 sec)

以下は、挿入コマンドを使用してテーブルにいくつかのレコードを挿入するためのクエリです。

mysql> insert into DemoTable(FirstName,Branch) values('John','CS');
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable(FirstName,Branch) values('Carol','ME');
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable(FirstName,Branch) values('David','ME');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable(FirstName,Branch) values('Bob','CE');
Query OK, 1 row affected (0.35 sec)
mysql> insert into DemoTable(FirstName,Branch) values('Robert','EE');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable(FirstName,Branch) values('Chris','EEE');
Query OK, 1 row affected (0.27 sec)
mysql> insert into DemoTable(FirstName,Branch) values('James','ME');
Query OK, 1 row affected (0.56 sec)

以下は、selectコマンドを使用してテーブルのレコードを表示するためのクエリです。

mysql> select *from DemoTable;

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

+----+-----------+--------+
| Id | FirstName | Branch |
+----+-----------+--------+
|  1 | John      | CS     |
|  2 | Carol     | ME     |
|  3 | David     | ME     |
|  4 | Bob       | CE     |
|  5 | Robert    | EE     |
|  6 | Chris     | EEE    |
|  7 | James     | ME     |
+----+-----------+--------+
7 rows in set (0.00 sec)

以下は、MySQLを使用して特定の順序でレコードを取得するためのクエリです。ブランチ「ME」で開始するように設定した順序:

mysql> select *from DemoTable order by if(Branch='ME',1,0)DESC,Branch;

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

+----+-----------+--------+
| Id | FirstName | Branch |
+----+-----------+--------+
|  2 | Carol     | ME     |
|  3 | David     | ME     |
|  7 | James     | ME     |
|  4 | Bob       | CE     |
|  1 | John      | CS     |
|  5 | Robert    | EE     |
|  6 | Chris     | EEE    |
+----+-----------+--------+
7 rows in set (0.00 sec)

  1. 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

  2. Nodejsを使用したMySQLのレコードの削除

    挿入後、レコードも削除する必要があります。レコードは、データベーステーブルの識別子に基づいて削除できます。 「DELETEFROM」ステートメントを使用して、テーブルからレコードを削除できます。 MySqlDBからレコードを削除するには2つの方法があります- 静的削除 -このタイプの削除では、削除するプレフィックス付きのフィルター値を指定します 動的削除 –このタイプの削除では、削除する前に入力を求めてから、それに基づいて削除します。 先に進む前に、次の手順がすでに実行されていることを確認してください- mkdir mysql-test cd mysql-te