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)