---
title: "VAR_SAMP - OceanBase 数据库 V4.3.5 | OceanBase 文档中心"
description: VAR_SAMP 描述 该函数返回一组数值集合的样本方差（忽略 NULL ）。可以将该函数用作聚合或分析函数。 说明 作为分析函数使用时，需要使用 OVER 子句定义窗口进行计算。它对一组行的集合进行计算并返回多个值。 作为聚合函数使用时，该函数对一组行的集合进行聚合计算，结果只能返回一个值，此时不需要加 OVER …
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.3.5 LTS

# VAR_SAMP

更新时间：2026-07-15 20:42:46

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.5/zh-CN/700.reference/500.sql-reference/100.sql-syntax/300.common-tenant-of-oracle-mode/500.functions-of-oracle-mode/300.aggregate-functions-of-oracle-mode/2600.var-samp-agg-of-oracle-mode.md)  

## 描述

该函数返回一组数值集合的样本方差（忽略 `NULL`）。可以将该函数用作聚合或分析函数。

#### 说明

- 作为分析函数使用时，需要使用 `OVER` 子句定义窗口进行计算。它对一组行的集合进行计算并返回多个值。
 - 作为聚合函数使用时，该函数对一组行的集合进行聚合计算，结果只能返回一个值，此时不需要加 `OVER` 子句。

## 语法

```sql
VAR_SAMP(expr) [ OVER (analytic_clause) ]

```

## 参数解释

| 参数 | 说明 |
| --- | --- |
| expr | 指定参与计算的数值表达式。属于数值数据类型或可以隐式转换为数值数据类型的值。 |
| OVER | 使用 `OVER` 子句定义窗口进行计算。详细信息请参见 [分析函数说明](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002017509)。 |

#### 说明

如果该函数应用于空集，则返回 `NULL`。返回结果计算公式为：`(SUM(expr - (SUM(expr) / COUNT(expr)))²) /(COUNT(expr) - 1)`。

## 返回类型

返回与参数 `expr` 相同的数据类型或 `NULL`。

## 示例

现有已创建表 `tbl1`。

```sql
obclient> SELECT * FROM tbl1;
+------+------+------+------+
| COL1 | COL2 | COL3 | COL4 |
+------+------+------+------+
|    1 | A1   |    8 |   12 |
|    1 | A2   |   10 |   15 |
|    1 | A3   |   11 |   16 |
|    2 | B1   |    9 |   14 |
|    2 | B2   |   10 |   15 |
|    2 | B3   |    8 |   13 |
|    2 | B4   |   11 |   16 |
|    3 | C1   |    8 |   18 |
|    3 | C2   |    9 |   16 |
|    3 | C3   |   10 |   15 |
|    3 | C4   |   11 |   12 |
|    3 | C5   |   12 |   10 |
|    4 | d1   |    8 | NULL |
|    4 | d1   |    9 |   10 |
|    4 | d1   |   10 | NULL |
+------+------+------+------+
15 rows in set

```

### 聚合函数示例

计算列 `col4` 的样本方差。

```sql
obclient> SELECT VAR_SAMP(col4) FROM tbl1;
+----------------+
| VAR_SAMP(COL4) |
+----------------+
|              6 |
+----------------+
1 row in set

```

### 分析函数示例

按列 `col2` 升序排序，计算列 `col4` 的累计样本方差。

```sql
obclient> SELECT col1,col2,col4,VAR_SAMP(col4) OVER(ORDER BY col2) "VAR_POP" FROM tbl1;
+------+------+------+------------------------------------------+
| COL1 | COL2 | COL4 | VAR_POP                                  |
+------+------+------+------------------------------------------+
|    1 | A1   |   12 |                                     NULL |
|    1 | A2   |   15 |                                      4.5 |
|    1 | A3   |   16 |  4.3333333333333333333333333333333333335 |
|    2 | B1   |   14 | 2.91666666666666666666666666666666666667 |
|    2 | B2   |   15 |                                      2.3 |
|    2 | B3   |   13 |  2.1666666666666666666666666666666666666 |
|    2 | B4   |   16 | 2.28571428571428571428571428571428571433 |
|    3 | C1   |   18 | 3.55357142857142857142857142857142857143 |
|    3 | C2   |   16 |                                     3.25 |
|    3 | C3   |   15 | 2.88888888888888888888888888888888888889 |
|    3 | C4   |   12 |  3.4181818181818181818181818181818181818 |
|    3 | C5   |   10 |   4.969696969696969696969696969696969697 |
|    4 | d1   | NULL |                                        6 |
|    4 | d1   |   10 |                                        6 |
|    4 | d1   | NULL |                                        6 |
+------+------+------+------------------------------------------+
15 rows in set

```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
