可用版本:Dev (3.21) | 最新 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11

PERCENT_RANK

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

PERCENT_RANK() 假设集函数计算假设值的百分比排名,即从 0 到 1 的相对排名 (CUME_DIST 生成的值从 1/N 到 1)

SELECT
  percent_rank(0) WITHIN GROUP (ORDER BY ID),
  percent_rank(2) WITHIN GROUP (ORDER BY ID),
  percent_rank(4) WITHIN GROUP (ORDER BY ID)
FROM BOOK
create.select(
         percentRank(val(0)).withinGroupOrderBy(BOOK.ID),
         percentRank(val(2)).withinGroupOrderBy(BOOK.ID),
         percentRank(val(4)).withinGroupOrderBy(BOOK.ID))
      .from(BOOK)

产生

+-----------------+-----------------+-----------------+
| percent_rank(0) | percent_rank(2) | percent_rank(4) |
+-----------------+-----------------+-----------------+
|             0.0 |            0.25 |            0.75 |
+-----------------+-----------------+-----------------+

方言支持

此示例使用 jOOQ

percentRank(val(0)).withinGroupOrderBy(BOOK.ID)

翻译成以下特定方言的表达式

Aurora Postgres、H2、Oracle、Postgres、YugabyteDB

percent_rank(0) WITHIN GROUP (ORDER BY BOOK.ID)

ASE、Access、Aurora MySQL、BigQuery、ClickHouse、CockroachDB、DB2、Databricks、Derby、DuckDB、Exasol、Firebird、HSQLDB、Hana、Informix、MariaDB、MemSQL、MySQL、Redshift、SQLDataWarehouse、SQLServer、SQLite、Snowflake、Sybase、Teradata、Trino、Vertica

/* UNSUPPORTED */
使用 jOOQ 3.21 生成。早期 jOOQ 版本的支持可能有所不同。 在我们的网站上翻译您自己的 SQL

反馈

您对此页面有任何反馈吗?我们很乐意听取您的意见!

The jOOQ Logo