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

MySQLのROW_NUMBER()とは何ですか?


MySQLバージョン8.0から含まれているRow_NUMBER()。これは一種のウィンドウ関数です。これは、行にシーケンス番号を割り当てるために使用できます。理解するには、CREATEpcommand-

を使用してテーブルを作成します。

テーブルの作成

mysql> CREATE table rowNumberDemo
-> (
-> FirstName varchar(100)
-> );
Query OK, 0 rows affected (0.92 sec)

レコードの挿入

mysql> INSERT into rowNumberDemo values('john');
Query OK, 1 row affected (0.17 sec)

mysql> INSERT into rowNumberDemo values('john');
Query OK, 1 row affected (0.29 sec)

mysql> INSERT into rowNumberDemo values('Bob');
Query OK, 1 row affected (0.13 sec)

mysql> INSERT into rowNumberDemo values('Smith');
Query OK, 1 row affected (0.17 sec)

SELECTステートメントを使用してすべてのレコードを表示できます-

mysql> SELECT * from rowNumberDemo;

以下は出力です-

+-----------+
| FirstName |
+-----------+
| john      |
| john      |
| Bob       |
| Smith     |
+-----------+
4 rows in set (0.00 sec)

これで、row_number()を使用して、すべてのレコードに増分値を割り当てることができます-

mysql> SELECT row_number() over ( order by firstName) RowNumberSqeuence,FirstName from rowNumberDemo
-> order by FirstName;

以下は出力です-

+-------------------+-----------+
| RowNumberSqeuence | FirstName |
+-------------------+-----------+
| 1                 | Bob       |
| 2                 | john      |
| 3                 | john      |
| 4                 | Smith     |
+-------------------+-----------+
4 rows in set (0.00 sec)

出力を見てください。row_number()を使用してすべてのレコードに番号を割り当てています。


  1. MySQLの「SELECTTRUE」とは何ですか?

    行が一致する場合、ステートメントSELECTTRUEは1を返します。まずテーブルを作成しましょう- mysql> create table DemoTable(Name varchar(100)); Query OK, 0 rows affected (0.54 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('Chris'); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable

  2. 選択@@identityはMySQLで何をしますか?

    @@identityは、現在のセッションのauto_increment列に最後に挿入された値を返します。まずテーブルを作成しましょう- mysql> create table DemoTable(    UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    UserName varchar(100) ); Query OK, 0 rows affected (0.67 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoT