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

MySQLのランク関数?


rank()関数を使用して、結果セットのパーティション内のすべての行にランクを付けることができます。

まず、テーブルを作成しましょう-

mysql> create table RankDemo
   mysql> (
   mysql> id int
   mysql> );
Query OK, 0 rows affected (0.53 sec)

テーブルにレコードを挿入します。

mysql> insert into RankDemo values(1);
Query OK, 1 row affected (0.19 sec)

mysql>  insert into RankDemo values(3);
Query OK, 1 row affected (0.12 sec)

mysql>  insert into RankDemo values(3);
Query OK, 1 row affected (0.11 sec)

mysql>  insert into RankDemo values(4);
Query OK, 1 row affected (0.12 sec)

mysql>  insert into RankDemo values(5);
Query OK, 1 row affected (0.17 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示します。クエリは次のとおりです-

mysql> select *from RankDemo;

以下は出力です。

+------+
| id   |
+------+
|    1 |
|    3 |
|    3 |
|    4 |
|    5 |
+------+
5 rows in set (0.00 sec)

上で説明したように、rank()関数を適用してみましょう。

mysql> SELECT
   mysql> id,RANK() OVER (ORDER BY id ) Ranking
   mysql> from RankDemo;

以下は、ランクを表示する出力です。

+------+---------+
| id   | Ranking |
+------+---------+
|    1 |       1 |
|    3 |       2 |
|    3 |       2 |
|    4 |       4 |
|    5 |       5 |
+------+---------+
5 rows in set (0.04 sec)

  1. 簡単なMySQL関数を作成するにはどうすればよいですか?

    createfunctionコマンドを使用して関数を作成できます。構文は次のとおりです- delimiter // DROP FUNCTION if exists yourFunctionName; CREATE FUNCTION yourFunctionName(Parameter1,...N) returns type BEGIN # declaring variables; # MySQL statementns END // delimiter ; まず、ここでテーブルを作成し、テーブルにいくつかのレコードを追加します。その後、簡単な関数が作成されます。以下は、テーブルを作成するため

  2. MySQL SelectステートメントのIF()関数?

    IF()関数は、条件に基づいて値を返します。 構文は次のとおりです- SELECT IF(yourCondition, yourMessageIfConditionBecomesTrue,yourMessageIfConditionBecomesFalse) from yourTableName; Let us first create a table: mysql> create table DemoTable    (    Value int    ); Query OK, 0 rows affected (0.60 s