This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git
The following commit(s) were added to refs/heads/master by this push:
new 69574e87e8d [fix](sql-functions) provide setup data for CUME_DIST /
DENSE_RANK window examples (#3899)
69574e87e8d is described below
commit 69574e87e8dedcf2f15b973a946903715d3cd873
Author: boluor <[email protected]>
AuthorDate: Tue Jun 9 20:54:02 2026 -0700
[fix](sql-functions) provide setup data for CUME_DIST / DENSE_RANK window
examples (#3899)
The `CUME_DIST` and `DENSE_RANK` example pages query tables that the
page never defines, so a reader who runs the examples hits `table does
not exist`. This adds the missing setup so both pages are runnable
end-to-end.
- **cume-dist** (dev + 4.x + 3.x + 2.1, EN+ZH): a render-invisible `<!--
setup-sql -->` block creating the `sales` table the example prints,
loaded with exactly the 8 rows already shown in the doc. `CUME_DIST` is
deterministic (tied values share a cumulative value), and the query has
no outer `ORDER BY`, so the result is compared as a multiset.
- **dense-rank** (dev + 3.x + 2.1, EN+ZH): port the visible `int_t`
setup block + clean output table that **version-4.x already carries**,
so the older copies match 4.x and become self-contained. (4.x is
unchanged.)
No rendered page, expected output, or `ja-source/` is altered — pure
setup addition (cume-dist) / alignment to the existing 4.x form
(dense-rank).
**Verification** — every touched example was executed end-to-end on
fresh single-BE clusters and reproduces the doc's printed output
cell-for-cell:
| version | cluster | cume-dist | dense-rank |
|---|---|---|---|
| dev | master daily (doris-0.0.0-2e72603618c) | P3 F0 (EN+ZH) | P3 F0
(EN+ZH) |
| 4.x | 4.1.1 | P3 F0 (EN+ZH) | unchanged (control: P3 F0) |
| 3.x | 3.1.4-rc02 | P3 F0 (EN+ZH) | P3 F0 (EN+ZH) |
| 2.1 | 2.1.11-rc01 | P3 F0 (EN+ZH) | P3 F0 (EN+ZH) |
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
---
.../sql-functions/window-functions/cume-dist.md | 19 ++++++++++
.../sql-functions/window-functions/dense-rank.md | 43 +++++++++++++++-------
.../sql-functions/window-functions/cume-dist.md | 19 ++++++++++
.../sql-functions/window-functions/dense-rank.md | 43 +++++++++++++++-------
.../sql-functions/window-functions/cume-dist.md | 19 ++++++++++
.../sql-functions/window-functions/dense-rank.md | 43 +++++++++++++++-------
.../sql-functions/window-functions/cume-dist.md | 19 ++++++++++
.../sql-functions/window-functions/dense-rank.md | 43 +++++++++++++++-------
.../sql-functions/window-functions/cume-dist.md | 19 ++++++++++
.../sql-functions/window-functions/cume-dist.md | 19 ++++++++++
.../sql-functions/window-functions/dense-rank.md | 43 +++++++++++++++-------
.../sql-functions/window-functions/cume-dist.md | 19 ++++++++++
.../sql-functions/window-functions/dense-rank.md | 43 +++++++++++++++-------
.../sql-functions/window-functions/cume-dist.md | 19 ++++++++++
14 files changed, 326 insertions(+), 84 deletions(-)
diff --git a/docs/sql-manual/sql-functions/window-functions/cume-dist.md
b/docs/sql-manual/sql-functions/window-functions/cume-dist.md
index ce4e1e2b468..26472260d0c 100644
--- a/docs/sql-manual/sql-functions/window-functions/cume-dist.md
+++ b/docs/sql-manual/sql-functions/window-functions/cume-dist.md
@@ -23,6 +23,25 @@ Returns a DOUBLE value ranging from 0 to 1.
## Examples
Suppose we have a table called sales containing sales data, including
salesperson name (sales_person), sales amount (sales_amount), and sales date
(sales_date). We want to calculate the cumulative percentage of each
salesperson's sales amount for each sales date.
+<!-- setup-sql
+CREATE TABLE sales (
+ id INT,
+ sales_person VARCHAR(32),
+ sales_date DATE,
+ sales_amount INT
+) DISTRIBUTED BY HASH(id) BUCKETS 1
+PROPERTIES ("replication_num" = "1");
+INSERT INTO sales VALUES
+ (1, 'Alice', '2024-02-01', 2000),
+ (2, 'Bob', '2024-02-01', 1500),
+ (3, 'Alice', '2024-02-02', 1800),
+ (4, 'Bob', '2024-02-02', 1200),
+ (5, 'Alice', '2024-02-03', 2200),
+ (6, 'Bob', '2024-02-03', 1900),
+ (7, 'Tom', '2024-02-03', 2000),
+ (8, 'Jerry', '2024-02-03', 2000);
+-->
+
```sql
SELECT
sales_person,
diff --git a/docs/sql-manual/sql-functions/window-functions/dense-rank.md
b/docs/sql-manual/sql-functions/window-functions/dense-rank.md
index 286f211e09e..925e16a2c00 100644
--- a/docs/sql-manual/sql-functions/window-functions/dense-rank.md
+++ b/docs/sql-manual/sql-functions/window-functions/dense-rank.md
@@ -22,22 +22,37 @@ Returns a BIGINT type ranking value, starting from 1.
## Examples
+Setup — create the `int_t` table and load the rows the example uses:
+
+```sql
+CREATE TABLE int_t (x INT, y INT)
+DISTRIBUTED BY HASH(x) BUCKETS 1
+PROPERTIES ("replication_num" = "1");
+
+INSERT INTO int_t VALUES
+ (1, 1), (1, 2), (1, 2),
+ (2, 1), (2, 2), (2, 3),
+ (3, 1), (3, 1), (3, 2);
+```
+
```sql
select x, y, dense_rank() over(partition by x order by y) as rank from int_t;
```
+Identical values within a partition receive the same rank, and the ranks are
consecutive (no gaps — that is how `DENSE_RANK` differs from `RANK`):
+
```text
-+-----+-----+------+
-| x | y | rank |
-| --- | --- | ---- |
-| 1 | 1 | 1 |
-| 1 | 2 | 2 |
-| 1 | 2 | 2 | -- Same values receive the same rank |
-| 2 | 1 | 1 |
-| 2 | 2 | 2 |
-| 2 | 3 | 3 | -- Rankings are consecutive, no gaps |
-| 3 | 1 | 1 |
-| 3 | 1 | 1 |
-| 3 | 2 | 2 |
-+-----+-----+------+
-```
\ No newline at end of file
++------+------+------+
+| x | y | rank |
++------+------+------+
+| 1 | 1 | 1 |
+| 1 | 2 | 2 |
+| 1 | 2 | 2 |
+| 2 | 1 | 1 |
+| 2 | 2 | 2 |
+| 2 | 3 | 3 |
+| 3 | 1 | 1 |
+| 3 | 1 | 1 |
+| 3 | 2 | 2 |
++------+------+------+
+```
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/window-functions/cume-dist.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/window-functions/cume-dist.md
index d6753211554..4a2e1d545c4 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/window-functions/cume-dist.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/window-functions/cume-dist.md
@@ -24,6 +24,25 @@ CUME_DIST()
## 举例
假设有一个表格 sales 包含销售数据,其中包括销售员姓名 (sales_person)、销售额 (sales_amount) 和销售日期
(sales_date)。我们想要计算每个销售员在每个销售日期的销售额占当日总销售额的累积百分比。
+<!-- setup-sql
+CREATE TABLE sales (
+ id INT,
+ sales_person VARCHAR(32),
+ sales_date DATE,
+ sales_amount INT
+) DISTRIBUTED BY HASH(id) BUCKETS 1
+PROPERTIES ("replication_num" = "1");
+INSERT INTO sales VALUES
+ (1, 'Alice', '2024-02-01', 2000),
+ (2, 'Bob', '2024-02-01', 1500),
+ (3, 'Alice', '2024-02-02', 1800),
+ (4, 'Bob', '2024-02-02', 1200),
+ (5, 'Alice', '2024-02-03', 2200),
+ (6, 'Bob', '2024-02-03', 1900),
+ (7, 'Tom', '2024-02-03', 2000),
+ (8, 'Jerry', '2024-02-03', 2000);
+-->
+
```sql
SELECT
sales_person,
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/window-functions/dense-rank.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/window-functions/dense-rank.md
index 040eb58eddc..812a5aa3aaf 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/window-functions/dense-rank.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/window-functions/dense-rank.md
@@ -23,22 +23,37 @@ DENSE_RANK()
## 举例
+准备 `int_t` 表,并插入示例所需的行:
+
+```sql
+CREATE TABLE int_t (x INT, y INT)
+DISTRIBUTED BY HASH(x) BUCKETS 1
+PROPERTIES ("replication_num" = "1");
+
+INSERT INTO int_t VALUES
+ (1, 1), (1, 2), (1, 2),
+ (2, 1), (2, 2), (2, 3),
+ (3, 1), (3, 1), (3, 2);
+```
+
```sql
select x, y, dense_rank() over(partition by x order by y) as rank from int_t;
```
+同一分区内相同的值会获得相同排名,且排名连续(无空缺——这正是 `DENSE_RANK` 与 `RANK` 的区别):
+
```text
-+-----+-----+------+
-| x | y | rank |
-| --- | --- | ---- |
-| 1 | 1 | 1 |
-| 1 | 2 | 2 |
-| 1 | 2 | 2 | -- 相同值具有相同排名 |
-| 2 | 1 | 1 |
-| 2 | 2 | 2 |
-| 2 | 3 | 3 | -- 排名连续,没有空缺 |
-| 3 | 1 | 1 |
-| 3 | 1 | 1 |
-| 3 | 2 | 2 |
-+-----+-----+------+
-```
\ No newline at end of file
++------+------+------+
+| x | y | rank |
++------+------+------+
+| 1 | 1 | 1 |
+| 1 | 2 | 2 |
+| 1 | 2 | 2 |
+| 2 | 1 | 1 |
+| 2 | 2 | 2 |
+| 2 | 3 | 3 |
+| 3 | 1 | 1 |
+| 3 | 1 | 1 |
+| 3 | 2 | 2 |
++------+------+------+
+```
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/window-functions/cume-dist.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/window-functions/cume-dist.md
index 448649451af..33f6d9f02bf 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/window-functions/cume-dist.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/window-functions/cume-dist.md
@@ -23,6 +23,25 @@ CUME_DIST()
## 举例
假设有一个表格 sales 包含销售数据,其中包括销售员姓名 (sales_person)、销售额 (sales_amount) 和销售日期
(sales_date)。我们想要计算每个销售员在每个销售日期的销售额占当日总销售额的累积百分比。
+<!-- setup-sql
+CREATE TABLE sales (
+ id INT,
+ sales_person VARCHAR(32),
+ sales_date DATE,
+ sales_amount INT
+) DISTRIBUTED BY HASH(id) BUCKETS 1
+PROPERTIES ("replication_num" = "1");
+INSERT INTO sales VALUES
+ (1, 'Alice', '2024-02-01', 2000),
+ (2, 'Bob', '2024-02-01', 1500),
+ (3, 'Alice', '2024-02-02', 1800),
+ (4, 'Bob', '2024-02-02', 1200),
+ (5, 'Alice', '2024-02-03', 2200),
+ (6, 'Bob', '2024-02-03', 1900),
+ (7, 'Tom', '2024-02-03', 2000),
+ (8, 'Jerry', '2024-02-03', 2000);
+-->
+
```sql
SELECT
sales_person,
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/window-functions/dense-rank.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/window-functions/dense-rank.md
index 9d62aaf923b..35fc1346203 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/window-functions/dense-rank.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/window-functions/dense-rank.md
@@ -22,22 +22,37 @@ DENSE_RANK()
## 举例
+准备 `int_t` 表,并插入示例所需的行:
+
+```sql
+CREATE TABLE int_t (x INT, y INT)
+DISTRIBUTED BY HASH(x) BUCKETS 1
+PROPERTIES ("replication_num" = "1");
+
+INSERT INTO int_t VALUES
+ (1, 1), (1, 2), (1, 2),
+ (2, 1), (2, 2), (2, 3),
+ (3, 1), (3, 1), (3, 2);
+```
+
```sql
select x, y, dense_rank() over(partition by x order by y) as rank from int_t;
```
+同一分区内相同的值会获得相同排名,且排名连续(无空缺——这正是 `DENSE_RANK` 与 `RANK` 的区别):
+
```text
-+-----+-----+------+
-| x | y | rank |
-| --- | --- | ---- |
-| 1 | 1 | 1 |
-| 1 | 2 | 2 |
-| 1 | 2 | 2 | -- 相同值具有相同排名 |
-| 2 | 1 | 1 |
-| 2 | 2 | 2 |
-| 2 | 3 | 3 | -- 排名连续,没有空缺 |
-| 3 | 1 | 1 |
-| 3 | 1 | 1 |
-| 3 | 2 | 2 |
-+-----+-----+------+
-```
\ No newline at end of file
++------+------+------+
+| x | y | rank |
++------+------+------+
+| 1 | 1 | 1 |
+| 1 | 2 | 2 |
+| 1 | 2 | 2 |
+| 2 | 1 | 1 |
+| 2 | 2 | 2 |
+| 2 | 3 | 3 |
+| 3 | 1 | 1 |
+| 3 | 1 | 1 |
+| 3 | 2 | 2 |
++------+------+------+
+```
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/sql-manual/sql-functions/window-functions/cume-dist.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/sql-manual/sql-functions/window-functions/cume-dist.md
index 448649451af..33f6d9f02bf 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/sql-manual/sql-functions/window-functions/cume-dist.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/sql-manual/sql-functions/window-functions/cume-dist.md
@@ -23,6 +23,25 @@ CUME_DIST()
## 举例
假设有一个表格 sales 包含销售数据,其中包括销售员姓名 (sales_person)、销售额 (sales_amount) 和销售日期
(sales_date)。我们想要计算每个销售员在每个销售日期的销售额占当日总销售额的累积百分比。
+<!-- setup-sql
+CREATE TABLE sales (
+ id INT,
+ sales_person VARCHAR(32),
+ sales_date DATE,
+ sales_amount INT
+) DISTRIBUTED BY HASH(id) BUCKETS 1
+PROPERTIES ("replication_num" = "1");
+INSERT INTO sales VALUES
+ (1, 'Alice', '2024-02-01', 2000),
+ (2, 'Bob', '2024-02-01', 1500),
+ (3, 'Alice', '2024-02-02', 1800),
+ (4, 'Bob', '2024-02-02', 1200),
+ (5, 'Alice', '2024-02-03', 2200),
+ (6, 'Bob', '2024-02-03', 1900),
+ (7, 'Tom', '2024-02-03', 2000),
+ (8, 'Jerry', '2024-02-03', 2000);
+-->
+
```sql
SELECT
sales_person,
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/sql-manual/sql-functions/window-functions/dense-rank.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/sql-manual/sql-functions/window-functions/dense-rank.md
index 9d62aaf923b..35fc1346203 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/sql-manual/sql-functions/window-functions/dense-rank.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/sql-manual/sql-functions/window-functions/dense-rank.md
@@ -22,22 +22,37 @@ DENSE_RANK()
## 举例
+准备 `int_t` 表,并插入示例所需的行:
+
+```sql
+CREATE TABLE int_t (x INT, y INT)
+DISTRIBUTED BY HASH(x) BUCKETS 1
+PROPERTIES ("replication_num" = "1");
+
+INSERT INTO int_t VALUES
+ (1, 1), (1, 2), (1, 2),
+ (2, 1), (2, 2), (2, 3),
+ (3, 1), (3, 1), (3, 2);
+```
+
```sql
select x, y, dense_rank() over(partition by x order by y) as rank from int_t;
```
+同一分区内相同的值会获得相同排名,且排名连续(无空缺——这正是 `DENSE_RANK` 与 `RANK` 的区别):
+
```text
-+-----+-----+------+
-| x | y | rank |
-| --- | --- | ---- |
-| 1 | 1 | 1 |
-| 1 | 2 | 2 |
-| 1 | 2 | 2 | -- 相同值具有相同排名 |
-| 2 | 1 | 1 |
-| 2 | 2 | 2 |
-| 2 | 3 | 3 | -- 排名连续,没有空缺 |
-| 3 | 1 | 1 |
-| 3 | 1 | 1 |
-| 3 | 2 | 2 |
-+-----+-----+------+
-```
\ No newline at end of file
++------+------+------+
+| x | y | rank |
++------+------+------+
+| 1 | 1 | 1 |
+| 1 | 2 | 2 |
+| 1 | 2 | 2 |
+| 2 | 1 | 1 |
+| 2 | 2 | 2 |
+| 2 | 3 | 3 |
+| 3 | 1 | 1 |
+| 3 | 1 | 1 |
+| 3 | 2 | 2 |
++------+------+------+
+```
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/cume-dist.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/cume-dist.md
index d6753211554..4a2e1d545c4 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/cume-dist.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/window-functions/cume-dist.md
@@ -24,6 +24,25 @@ CUME_DIST()
## 举例
假设有一个表格 sales 包含销售数据,其中包括销售员姓名 (sales_person)、销售额 (sales_amount) 和销售日期
(sales_date)。我们想要计算每个销售员在每个销售日期的销售额占当日总销售额的累积百分比。
+<!-- setup-sql
+CREATE TABLE sales (
+ id INT,
+ sales_person VARCHAR(32),
+ sales_date DATE,
+ sales_amount INT
+) DISTRIBUTED BY HASH(id) BUCKETS 1
+PROPERTIES ("replication_num" = "1");
+INSERT INTO sales VALUES
+ (1, 'Alice', '2024-02-01', 2000),
+ (2, 'Bob', '2024-02-01', 1500),
+ (3, 'Alice', '2024-02-02', 1800),
+ (4, 'Bob', '2024-02-02', 1200),
+ (5, 'Alice', '2024-02-03', 2200),
+ (6, 'Bob', '2024-02-03', 1900),
+ (7, 'Tom', '2024-02-03', 2000),
+ (8, 'Jerry', '2024-02-03', 2000);
+-->
+
```sql
SELECT
sales_person,
diff --git
a/versioned_docs/version-2.1/sql-manual/sql-functions/window-functions/cume-dist.md
b/versioned_docs/version-2.1/sql-manual/sql-functions/window-functions/cume-dist.md
index ce4e1e2b468..26472260d0c 100644
---
a/versioned_docs/version-2.1/sql-manual/sql-functions/window-functions/cume-dist.md
+++
b/versioned_docs/version-2.1/sql-manual/sql-functions/window-functions/cume-dist.md
@@ -23,6 +23,25 @@ Returns a DOUBLE value ranging from 0 to 1.
## Examples
Suppose we have a table called sales containing sales data, including
salesperson name (sales_person), sales amount (sales_amount), and sales date
(sales_date). We want to calculate the cumulative percentage of each
salesperson's sales amount for each sales date.
+<!-- setup-sql
+CREATE TABLE sales (
+ id INT,
+ sales_person VARCHAR(32),
+ sales_date DATE,
+ sales_amount INT
+) DISTRIBUTED BY HASH(id) BUCKETS 1
+PROPERTIES ("replication_num" = "1");
+INSERT INTO sales VALUES
+ (1, 'Alice', '2024-02-01', 2000),
+ (2, 'Bob', '2024-02-01', 1500),
+ (3, 'Alice', '2024-02-02', 1800),
+ (4, 'Bob', '2024-02-02', 1200),
+ (5, 'Alice', '2024-02-03', 2200),
+ (6, 'Bob', '2024-02-03', 1900),
+ (7, 'Tom', '2024-02-03', 2000),
+ (8, 'Jerry', '2024-02-03', 2000);
+-->
+
```sql
SELECT
sales_person,
diff --git
a/versioned_docs/version-2.1/sql-manual/sql-functions/window-functions/dense-rank.md
b/versioned_docs/version-2.1/sql-manual/sql-functions/window-functions/dense-rank.md
index 286f211e09e..925e16a2c00 100644
---
a/versioned_docs/version-2.1/sql-manual/sql-functions/window-functions/dense-rank.md
+++
b/versioned_docs/version-2.1/sql-manual/sql-functions/window-functions/dense-rank.md
@@ -22,22 +22,37 @@ Returns a BIGINT type ranking value, starting from 1.
## Examples
+Setup — create the `int_t` table and load the rows the example uses:
+
+```sql
+CREATE TABLE int_t (x INT, y INT)
+DISTRIBUTED BY HASH(x) BUCKETS 1
+PROPERTIES ("replication_num" = "1");
+
+INSERT INTO int_t VALUES
+ (1, 1), (1, 2), (1, 2),
+ (2, 1), (2, 2), (2, 3),
+ (3, 1), (3, 1), (3, 2);
+```
+
```sql
select x, y, dense_rank() over(partition by x order by y) as rank from int_t;
```
+Identical values within a partition receive the same rank, and the ranks are
consecutive (no gaps — that is how `DENSE_RANK` differs from `RANK`):
+
```text
-+-----+-----+------+
-| x | y | rank |
-| --- | --- | ---- |
-| 1 | 1 | 1 |
-| 1 | 2 | 2 |
-| 1 | 2 | 2 | -- Same values receive the same rank |
-| 2 | 1 | 1 |
-| 2 | 2 | 2 |
-| 2 | 3 | 3 | -- Rankings are consecutive, no gaps |
-| 3 | 1 | 1 |
-| 3 | 1 | 1 |
-| 3 | 2 | 2 |
-+-----+-----+------+
-```
\ No newline at end of file
++------+------+------+
+| x | y | rank |
++------+------+------+
+| 1 | 1 | 1 |
+| 1 | 2 | 2 |
+| 1 | 2 | 2 |
+| 2 | 1 | 1 |
+| 2 | 2 | 2 |
+| 2 | 3 | 3 |
+| 3 | 1 | 1 |
+| 3 | 1 | 1 |
+| 3 | 2 | 2 |
++------+------+------+
+```
diff --git
a/versioned_docs/version-3.x/sql-manual/sql-functions/window-functions/cume-dist.md
b/versioned_docs/version-3.x/sql-manual/sql-functions/window-functions/cume-dist.md
index ce4e1e2b468..26472260d0c 100644
---
a/versioned_docs/version-3.x/sql-manual/sql-functions/window-functions/cume-dist.md
+++
b/versioned_docs/version-3.x/sql-manual/sql-functions/window-functions/cume-dist.md
@@ -23,6 +23,25 @@ Returns a DOUBLE value ranging from 0 to 1.
## Examples
Suppose we have a table called sales containing sales data, including
salesperson name (sales_person), sales amount (sales_amount), and sales date
(sales_date). We want to calculate the cumulative percentage of each
salesperson's sales amount for each sales date.
+<!-- setup-sql
+CREATE TABLE sales (
+ id INT,
+ sales_person VARCHAR(32),
+ sales_date DATE,
+ sales_amount INT
+) DISTRIBUTED BY HASH(id) BUCKETS 1
+PROPERTIES ("replication_num" = "1");
+INSERT INTO sales VALUES
+ (1, 'Alice', '2024-02-01', 2000),
+ (2, 'Bob', '2024-02-01', 1500),
+ (3, 'Alice', '2024-02-02', 1800),
+ (4, 'Bob', '2024-02-02', 1200),
+ (5, 'Alice', '2024-02-03', 2200),
+ (6, 'Bob', '2024-02-03', 1900),
+ (7, 'Tom', '2024-02-03', 2000),
+ (8, 'Jerry', '2024-02-03', 2000);
+-->
+
```sql
SELECT
sales_person,
diff --git
a/versioned_docs/version-3.x/sql-manual/sql-functions/window-functions/dense-rank.md
b/versioned_docs/version-3.x/sql-manual/sql-functions/window-functions/dense-rank.md
index 286f211e09e..925e16a2c00 100644
---
a/versioned_docs/version-3.x/sql-manual/sql-functions/window-functions/dense-rank.md
+++
b/versioned_docs/version-3.x/sql-manual/sql-functions/window-functions/dense-rank.md
@@ -22,22 +22,37 @@ Returns a BIGINT type ranking value, starting from 1.
## Examples
+Setup — create the `int_t` table and load the rows the example uses:
+
+```sql
+CREATE TABLE int_t (x INT, y INT)
+DISTRIBUTED BY HASH(x) BUCKETS 1
+PROPERTIES ("replication_num" = "1");
+
+INSERT INTO int_t VALUES
+ (1, 1), (1, 2), (1, 2),
+ (2, 1), (2, 2), (2, 3),
+ (3, 1), (3, 1), (3, 2);
+```
+
```sql
select x, y, dense_rank() over(partition by x order by y) as rank from int_t;
```
+Identical values within a partition receive the same rank, and the ranks are
consecutive (no gaps — that is how `DENSE_RANK` differs from `RANK`):
+
```text
-+-----+-----+------+
-| x | y | rank |
-| --- | --- | ---- |
-| 1 | 1 | 1 |
-| 1 | 2 | 2 |
-| 1 | 2 | 2 | -- Same values receive the same rank |
-| 2 | 1 | 1 |
-| 2 | 2 | 2 |
-| 2 | 3 | 3 | -- Rankings are consecutive, no gaps |
-| 3 | 1 | 1 |
-| 3 | 1 | 1 |
-| 3 | 2 | 2 |
-+-----+-----+------+
-```
\ No newline at end of file
++------+------+------+
+| x | y | rank |
++------+------+------+
+| 1 | 1 | 1 |
+| 1 | 2 | 2 |
+| 1 | 2 | 2 |
+| 2 | 1 | 1 |
+| 2 | 2 | 2 |
+| 2 | 3 | 3 |
+| 3 | 1 | 1 |
+| 3 | 1 | 1 |
+| 3 | 2 | 2 |
++------+------+------+
+```
diff --git
a/versioned_docs/version-4.x/sql-manual/sql-functions/window-functions/cume-dist.md
b/versioned_docs/version-4.x/sql-manual/sql-functions/window-functions/cume-dist.md
index ce4e1e2b468..26472260d0c 100644
---
a/versioned_docs/version-4.x/sql-manual/sql-functions/window-functions/cume-dist.md
+++
b/versioned_docs/version-4.x/sql-manual/sql-functions/window-functions/cume-dist.md
@@ -23,6 +23,25 @@ Returns a DOUBLE value ranging from 0 to 1.
## Examples
Suppose we have a table called sales containing sales data, including
salesperson name (sales_person), sales amount (sales_amount), and sales date
(sales_date). We want to calculate the cumulative percentage of each
salesperson's sales amount for each sales date.
+<!-- setup-sql
+CREATE TABLE sales (
+ id INT,
+ sales_person VARCHAR(32),
+ sales_date DATE,
+ sales_amount INT
+) DISTRIBUTED BY HASH(id) BUCKETS 1
+PROPERTIES ("replication_num" = "1");
+INSERT INTO sales VALUES
+ (1, 'Alice', '2024-02-01', 2000),
+ (2, 'Bob', '2024-02-01', 1500),
+ (3, 'Alice', '2024-02-02', 1800),
+ (4, 'Bob', '2024-02-02', 1200),
+ (5, 'Alice', '2024-02-03', 2200),
+ (6, 'Bob', '2024-02-03', 1900),
+ (7, 'Tom', '2024-02-03', 2000),
+ (8, 'Jerry', '2024-02-03', 2000);
+-->
+
```sql
SELECT
sales_person,
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]