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()を使用してすべてのレコードに番号を割り当てています。
-
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
-
選択@@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