返回首页

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

更新日期:2024年09月11日

No UDR information was set in UDRMetaData
应用程序调用 UDRManager.createUDRs() 方法,但没有为要注册的数据库服务器指定任何
UDR。
在调用 UDRManager.createUDRs() 方法之前,
调用 UDRMetaData.setUDR() 为数据库服务器
指定 UDR 。

GBASEDBTC 环境变量指定要用来编译 GBase 8s ESQL/C 所生成文件的 C 编译器
的文件名或路径名。 该设置仅在 C 编译阶段生效。
如果未设置 GBASEDBTC,那么大部分系统上的缺省编译器为 cc。

compiler C 编译器的文件名。
pathname C 编译器的完整路径名。
例如,要指定 GNU C 编译器,请输入以下命令:
setenv GBASEDBTC gcc
重要: 如果使用 gcc,请注意,数据库服务器假定字符串是可写的,所以您必须使
用 -fwritable-strings 选项进行编译。任务失败可能会产生不可预测的结果(可能包括
核心转储)。

语法
COUNT(*/[DISTINCT] col ) OVER([PARTITION BY col_name1,col_name2,…] [ORDER BY co
l_name1 [ASC/DESC], col_name2 [ASC/DESC],…] )
功能描述
该函数用于计算分组中的记录数,如果是COUNT(*),不用考虑NULL 值,否则,
不包含参数为NULL 的记录,如果包含DISTINCT,要做去重操作。
示例
示例1:COUNT OVER 函数示例。
gbase> DROP TABLE IF EXISTS t2;
Query OK, 0 rows affected

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

gbase> CREATE TABLE t2(i int,j int,k int);
Query OK, 0 rows affected

gbase> INSERT INTO t2 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 *,COUNT(k) OVER(PARTITION BY i ORDER BY j DESC) AS sum FRO
M t2;
+------+------+------+-----+
| i | j | k | sum |
+------+------+------+-----+
| 2 | 5 | 8 | 1 |
| 2 | 3 | 4 | 3 |
| 2 | 3 | 6 | 3 |
| 2 | 1 | 4 | 4 |
| 3 | 5 | 8 | 1 |
| 3 | 4 | 6 | 2 |
| 3 | 2 | 2 | 5 |
| 3 | 2 | 4 | 5 |
| 3 | 2 | 2 | 5 |
| 3 | 1 | 2 | 6 |
+------+------+------+-----+
10 rows in set

gbase> SELECT *,COUNT(DISTINCT k) OVER(PARTITION BY i) AS sum FROM t2;
+------+------+------+-----+
| i | j | k | sum |
+------+------+------+-----+
| 2 | 3 | 6 | 3 |
| 2 | 3 | 4 | 3 |
| 2 | 5 | 8 | 3 |
| 2 | 1 | 4 | 3 |
| 3 | 2 | 2 | 4 |
| 3 | 2 | 4 | 4 |
| 3 | 2 | 2 | 4 |
| 3 | 4 | 6 | 4 |
| 3 | 1 | 2 | 4 |
| 3 | 5 | 8 | 4 |
+------+------+------+-----+
10 rows in set

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