跳到主要内容

REGR_SXY

描述

返回 xy 分别相对于各自均值的离差乘积之和,基于组内非空 (y, x) 值对计算,其中 x 为自变量,y 为因变量。它等价于 REGR_COUNT(y, x) * COVAR_POP(y, x)

语法

REGR_SXY(<y>, <x>)

参数

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

返回值

返回 Double 类型的值,表示 xy 分别相对于各自均值的离差乘积之和。 如果组内没有行,或者表达式都为 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_SXY(y, x) FROM test_regr GROUP BY id ORDER BY id;
+------+---------------------+
| id | REGR_SXY(y, x) |
+------+---------------------+
| 1 | NULL |
| 2 | 10.0 |
+------+---------------------+