返回首页

gbase数据、南大通用产品文档:GBase8c内置函数

更新日期:2024年09月11日

HLL(HyperLogLog)有一系列内置函数用于内部对数据进行处理,一般情况下用户不
需要熟知这些函数的使用。详情见表5-11。
表5-11 内置函数
函数名称
功能描述
hll_in
以string 格式接收hll 数据。
hll_out
以string 格式发送hll 数据。
hll_recv
以bytea 格式接收hll 数据。
hll_send
以bytea 格式发送hll 数据。
hll_trans_in
以string 格式接收hll_trans_type 数据。
hll_trans_out
以string 格式发送hll_trans_type 数据。
hll_trans_recv
以bytea 形式接收hll_trans_type 数据。
hll_trans_send
以bytea 形式发送hll_trans_type 数据。
hll_typmod_in
接收typmod 类型数据。
hll_typmod_out
发送typmod 类型数据。
hll_hashval_in
接收hll_hashval 类型数据。
hll_hashval_out
发送hll_hashval 类型数据。
hll_add_trans0
类似于hll_add 所提供的功能,初始化时无指定入参,通
常在聚合运算的第一阶段DN 上使用。
hll_add_trans1
类似于hll_add 所提供的功能,初始化时指定一个入参,
通常在聚合运算的第一阶段DN 上使用。
hll_add_trans2
类似于hll_add 所提供的功能,初始化时指定两个入参,

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
311
通常在聚合运算的第一阶段DN 上使用。
hll_add_trans3
类似于hll_add 所提供的功能,初始化时指定三个入参,
通常在聚合运算的第一阶段DN 上使用。
hll_add_trans4
类似于hll_add 所提供的功能,初始化时指定四个入参,
通常在聚合运算的第一阶段DN 上使用。
hll_union_trans
类似hll_union 所提供的功能,
在聚合运算的第一阶段DN
上使用。
hll_union_collect
类似于hll_union 所提供的功能,
在聚合运算第二阶段DN
上使用,汇总各个DN 上的结果。
hll_pack
在聚合运算第三阶段DN 上使用,
把自定义hll_trans_type
类型最后转换成hll 类型。
hll
用于hll 类型转换成hll 类型,
根据输入参数会设定指定参
数。
hll_hashval
用于bigint 类型转换成hll_hashval 类型。
hll_hashval_int4
用于int4 类型转换成hll_hashval 类型。

针对飞腾或龙芯版本,需要使用用户直接SSH 登录到该机器执行,不能切
换用户执行(例如su – user 等)


- 2 -
南大通用数据技术股份有限公司

语法格式
LIMIT {[offset,] row_count | row_count OFFSET offset}
参数说明

LIMIT row_count:row_count 是一个整数型数值,表示从记录集开始返回
row_count 行结果集。如果row_count 指定的数值大于SELECT 后的结果集,
那么row_count 将不起作用。
LIMIT row_count
等价于
LIMIT 0, row_count
或者等价于
LIMIT row_count OFFSET 0

LIMIT row_count OFFSET offset:row_count 指定返回结果集的行数,offset 指
定结果集的偏移量,
初偏移量的起始值是0
(而不是1)

即偏移量0对应SELECT
返回的第一行结果集。
下面的语句含义为从SELECT 结果集的偏移量5 的位置开始,返回10 行结果
集。
SELECT * FROM ssbm.customer LIMIT 5,10;
示例

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 708

示例1:... LIMIT...
gbase> SELECT SUM(lo_quantity),lo_orderkey FROM ssbm.lineorder GROUP BY
lo_orderkey ORDER BY lo_orderkey LIMIT 10;
+------------------+-------------+
| SUM(lo_quantity) | lo_orderkey |
+------------------+-------------+
| 61 | 1 |
| 149 | 2 |
| 151 | 3 |
| 30 | 4 |
| 41 | 5 |
| 191 | 6 |
| 12 | 7 |
| 66 | 32 |
| 184 | 33 |
| 75 | 34 |
+------------------+-------------+
10 rows in set

示例2:t1 表中包含10 行数据,使用LIMIT m OFFSET n 的形式,显示执行
SELECT 语句后的结果。
查看全部10 行结果集:
gbase> SELECT * FROM t1 LIMIT 10;
+------+
| a |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
+------+
10 rows in set
从结果集中偏移量为2 的位置开始,
返回3 行结果集,
因为SELECT 结果集的
第一行的偏移值为0,所以SELECT 的第三行是偏移量2 的起始位置,从此处
取3 行结果集。
gbase> SELECT * FROM t1 LIMIT 3 OFFSET 2;
+------+

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 709
| a |
+------+
| 3 |
| 4 |
| 5 |
+------+
3 rows in set