返回首页

gbase数据、南大通用产品文档:GBase8a

更新日期:2024年09月11日

AVG OVER 函数
语法
AVG([DISTINCT/ALL] expr) OVER([PARTITION BY …] [ORDER BY …
[ASC/DESC] ])
功能描述
计算组内表达式的移动平均值。
示例
示例1:AVG(k) OVER(PARTITION BY i ORDER BY j DESC)
gbase> DROP TABLE IF EXISTS t1;
Query OK, 0 rows affected, 1 warning
gbase> CREATE TABLE t1(i int, j int,k int);
Query OK, 0 rows affected
gbase> INSERT INTO t1 VALUES(2,1,4),(2,3,6),(2,3,4),(2,5,8),(3,2,2), (3,2,
4),(3,2,2), (3,4,6),(3,1,2),(3,5,8);
Query OK, 10 rows affected
Records: 10
Duplicates: 0
Warnings: 0
gbase> SELECT *,AVG(k) OVER(PARTITION BY i ORDER BY j DES
C) AS avg FROM t1;
+------+------+------+--------+
| i
| j
| k
| avg
|
+------+------+------+--------+
|
2 |
5 |
8 | 8.0000 |

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
892
|
2 |
3 |
4 | 6.0000 |
|
2 |
3 |
6 | 6.0000 |
|
2 |
1 |
4 | 5.5000 |
|
3 |
5 |
8 | 8.0000 |
|
3 |
4 |
6 | 7.0000 |
|
3 |
2 |
2 | 4.4000 |
|
3 |
2 |
4 | 4.4000 |
|
3 |
2 |
2 | 4.4000 |
|
3 |
1 |
2 | 4.0000 |
+------+------+------+--------+
10 rows in set
用例分析:首先会根据i 分组,在同组内,根据j 降序排列,从每组的第一个值
开始向后累加k 值,同时记录count(k)的值,相同的j 值,对应的累加和、count
值相同,都是计算到最后一个j 值对应的k 值,如果遇到不同组,从0 开始重新
累加,最后用累加和除以count 值则是最后的avg 值。
注意
NULL 值的处理方式同聚合函数avg 类似,如果全为NULL 值,则
结果为NULL,否则NULL 不进行累加,也不计算在count 内。
以i 值为2、2、2、2,j 值为5、3、3、1,k 值为8、4、6、4,sum 值为8、6、6、

to_base64(str)
函数说明
to_base64(str)
对数据实现base64 编码加密。
参数str 允许的最大长度12419496(byte),超长报错。
该函数执行结果长度受max_allowed_packet 限制,超长报错。
gbase> select to_base64('hello');
+--------------------+
| to_base64('hello') |
+--------------------+
| aGVsbG8=
|
+--------------------+
1 row in set (Elapsed: 00:00:00.00)

 摘要:
在结束使用GBase CAPI 库时,释放GBase CAPI 库申请的资源。
 语法:
void gbase_library_end()
 参数:
 返回值: