返回首页

gbase数据、南大通用产品文档:GBase8s基数函数

更新日期:2024年09月11日

CARDINALITY 函数对集合包含的元素数目计数。可以将 CARDINALITY 函数与简单或嵌
套集合配合使用。将集合中的任何重复作为个别元素计数。下列查询显示一个查询,它
对 manager 表中的每一列返回 department 值和每个 direct_reports 集合中的元素数。
图: 查询
SELECT department, CARDINALITY(direct_reports) FROM manager;
图: 查询结果
department marketing 5

department engineering 7


GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 95 -

department publications 4

department accounting 3
还可以从谓词表达式中对集合的元素数进行求值,如下所示。
SELECT department, CARDINALITY(direct_reports) FROM manager
WHERE CARDINALITY(direct_reports) < 6
GROUP BY department;
图: 查询结果
department accounting 3

department marketing 5

department publications 4

导出数据时,只有指定了format 参数为3 时,才可以指定行分隔符参数,如果不指
定此参数,
默认导出数据的行分隔符为'\n'。本节的示例都基于以下表结构和数据内
容。
注意
行分隔符不能指定为与数据内容或其他控制字符相同的内容,否则可能会引起歧
义,造成数据不能被加载回表中。
DROP TABLE IF EXISTS message;
COMMIT;
CREATE TABLE
message(id int, name varchar2(20), message varchar2(50));
INSERT INTO message VALUES(1,'Tom','I am Tom');
INSERT INTO message VALUES(2,'小明','HHHH"KKKK');
INSERT INTO message VALUES(3,'Peter','Hello!Hello!');
INSERT INTO message VALUES(4,'Yama','send mail');
INSERT INTO message VALUES(5,'Hellen','');
INSERT INTO message VALUES(6,'','');
INSERT INTO message VALUES(7,'Seven','a book store');
INSERT INTO message VALUES(8,'MMEE','yes');
INSERT INTO message VALUES(9,'George','Thank you.');
INSERT INTO message VALUES(10,'Lastman','no message');
COMMIT;


GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
348
(1 row)

regr_r2(Y, X)
描述:相关系数的平方。
返回类型:double precision
示例:
gbase=# SELECT REGR_R2(sr_fee, sr_net_loss) FROM public.store_returns WHERE
sr_customer_sk < 1000;
regr_r2
--------------------
.00145453469345058
(1 row)

regr_slope(Y, X)
描述:根据所有输入的点(X, Y)按照最小二乘法拟合成一个线性方程,然后返回该直
线的斜率。
返回类型:double precision
示例:
gbase=# SELECT REGR_SLOPE(sr_fee, sr_net_loss) FROM public.store_returns WHERE
sr_customer_sk < 1000;
regr_slope
--------------------
.00139920009665259
(1 row)

regr_sxx(Y, X)
描述:sum(X^2) - sum(X)^2/N (自变量的“平方和”)
返回类型:double precision
示例:
gbase=# SELECT REGR_SXX(sr_fee, sr_net_loss) FROM public.store_returns WHERE
sr_customer_sk < 1000;
regr_sxx

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
349
------------------