跳到主要内容

REGR_SLOPE

描述

返回基于组内非空 (y, x) 值对计算得到的线性回归线斜率,其中 x 为自变量,y 为因变量。它等价于 COVAR_POP(y, x) / VAR_POP(x)

语法

REGR_SLOPE(<y>, <x>)

参数

参数说明
<y>因变量,支持类型为 Double。
<x>自变量,支持类型为 Double。

返回值

返回 Double 类型的值,表示线性回归线的斜率。 如果组内没有行,或者表达式都为 NULL,函数返回 NULL

举例

CREATE TABLE test_regr (
`id` int,
`x` double,
`y` double
) DUPLICATE KEY (`id`)
DISTRIBUTED BY HASH(`id`) BUCKETS AUTO
PROPERTIES (
"replication_allocation" = "tag.location.default: 1"
);

INSERT INTO test_regr VALUES
(1, 0, NULL),
(2, 1, 3),
(2, 2, 5),
(2, 3, 7),
(2, 4, 9),
(2, 5, NULL);
SELECT id, REGR_SLOPE(y, x) FROM test_regr GROUP BY id ORDER BY id;
+------+---------------------+
| id | REGR_SLOPE(y, x) |
+------+---------------------+
| 1 | NULL |
| 2 | 2.0 |
+------+---------------------+