返回首页

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

更新日期:2024年09月11日

ROW_NUMBER OVER 函数
语法
ROW_NUMBER( ) OVER([PARTITION BY col_name1,col_name2,…] ORDER
BY
col_name1 [asc/desc], col_name2 [asc/desc],…)
功能描述
同rank 的区别就是相同的排序值序号也会依次递增。
例如,两行排序值相同,则序数为1,2。
使用说明和使用约束同RANK() OVER() 。
示例
示例1:ROW_NUMBER() OVER(PARTITION BY i order by j desc)
gbase> DROP TABLE IF EXISTS t1;
Query OK, 0 rows affected
gbase> CREATE TABLE t1(i int, j int);
Query OK, 0 rows affected
gbase> INSERT INTO t1 VALUES(2,1),(2,3),(2,3),(2,5),(3,2),(3,2),(3,2),(3,4),
(3,1),(3,5);
Query OK, 10 rows affected
Records: 10
Duplicates: 0
Warnings: 0
gbase> SELECT *,RANK() OVER(PARTITION BY i order by j desc) A

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
894
S rank,DENSE_RANK() OVER(PARTITION BY i order by j desc) AS d
ense_rank ,ROW_NUMBER() OVER(PARTITION BY i order by j desc)
AS row_number FROM t1;
+------+------+------+------------+------------+
| i
| j
| rank | dense_rank | row_number |
+------+------+------+------------+------------+
|
2 |
5 |
1 |
1 |
1 |
|
2 |
3 |
2 |
2 |
2 |
|
2 |
3 |
2 |
2 |
3 |
|
2 |
1 |
4 |
3 |
4 |
|
3 |
5 |
1 |
1 |
1 |
|
3 |
4 |
2 |
2 |
2 |
|
3 |
2 |
3 |
3 |
3 |
|
3 |
2 |
3 |
3 |
4 |
|
3 |
2 |
3 |
3 |
5 |
|
3 |
1 |
6 |
4 |
6 |
+------+------+------+------------+------------+
10 rows in set

在启动应用程序之前在用户环境中设置 OPT_GOAL 环境变量以对优化器指定查询性能
目标。

0 指定用户响应时间优化。
-1 指定总查询时间优化。
优化器的缺省行为是使用优化总查询时间的查询方案。
还可使用优化器伪指令对个别查询指定优化目标或使用 SET OPTIMIZATION 语句对
会话指定优化目标。
这两种方法优先于 OPT_GOAL 环境变量设置。还可对 GBase 8s 系统设置
OPT_GOAL 配置参数;此方法的优先级最低。
有关优化数据库服务器查询的更多信息,请参阅《GBase 8s 性能指南》。有关 SET
OPTIMIZATION 语句的信息,请参阅 GBase 8s SQL 指南:语法。

GBA-02DD-0013
错误码
错误标识
错误信息
GBA-02DD-001
3

Can't generate sql..
错误出现原因
无法拼写正确的SQL
分析与建议
内部错误,需要根据express.log 进行排查