Rank
概述
Rank 函数用于对数据内容进行松散排序,重复数据占据一个排名位。例如,数据 1, 1, 3, 4, 5 的排名结果为 1, 1, 3, 4, 5。
语法示例
```text/x-sql Rank( <排名内容>, [<排名方法>] )
## 参数说明
| **参数** | **说明** | **类型** |
| --- | --- | --- |
| 排名内容 | 根据数据的值进行排名 | 字段、表达式、常量 |
| 排名方法 | 排序方法,"ASC" 从小到大排名,"DESC"从大到小排名。 可省略,默认为 "ASC" | 常量 |
!!! note "字段数据类型需要为 整数(INT)、小数(DOUBLE)、高精度小数(DECIMAL)、日期(DATE)、日期时间(DATETIME)、文本(TEXT)
支持函数表达式或算数表达式,不支持窗口函数."
字段数据类型需要为 整数(INT)、小数(DOUBLE)、高精度小数(DECIMAL)、日期(DATE)、日期时间(DATETIME)、文本(TEXT)
支持函数表达式或算数表达式,不支持窗口函数.
## 示例
### 对销售额进行排名
假设在一个销售记录表中,每笔销售的金额存储在名为 `SalesAmount` 的字段中。为了对销售金额进行排名,可以使用如下表达式:
#### 示例公式
```plaintext
Rank(SalesAmount, "DESC")
数据示例
| SaleID | SalesAmount |
|---|---|
| S001 | 500 |
| S002 | 300 |
| S003 | 500 |
| S004 | 200 |
| S005 | 100 |
计算结果
| SaleID | SalesAmount | Rank(SalesAmount, "DESC") |
|---|---|---|
| S001 | 500 | 1 |
| S002 | 300 | 3 |
| S003 | 500 | 1 |
| S004 | 200 | 4 |
| S005 | 100 | 5 |