互联网服务

使用RANK()等函数时出错

我的一段存储过程想用partition by来实现,我可以使用row_number(),但是如果使用FIRST_VALUE(),RANK()等函数,系统就提示没有权限, 错误信息如下: SQL0440N  No authorized routine named "RANK" of type "FUNCTION" having compatible arguments was found. &nb...显示全部
我的一段存储过程想用partition by来实现,我可以使用row_number(),但是如果使用FIRST_VALUE(),RANK()等函数,系统就提示没有权限, 错误信息如下:
SQL0440N  No authorized routine named "RANK" of type "FUNCTION" having compatible arguments was found.  SQLSTATE=42884。

我的测试代码如下:
with a as (select 1 a from sysibm.dual
           union all
select 1 a from sysibm.dual
           union  all
select 1 a from sysibm.dual
           union all
select 2 a from sysibm.dual
           union all
select 3 a from sysibm.dual
           union all
select 4 a from sysibm.dual
           union all
select 4 a from sysibm.dual
           union all
select 5 a from sysibm.dual
           )
select a, rank(a)over(partition by a) b from a
order by a;

请问这是要怎么解决收起
参与5

查看其它 3 个回答TUBER727的回答

TUBER727TUBER727数据库开发工程师DB2
rank(a)里不能放字段,只能rank()
互联网服务 · 2013-11-12
浏览948

回答者

TUBER727
数据库开发工程师DB2
擅长领域: 数据库

TUBER727 最近回答过的问题

回答状态

  • 发布时间:2013-11-12
  • 关注会员:1 人
  • 回答浏览:948
  • X社区推广