互联网服务SQL

这个sql应该怎么写呢?

建表并插入数据:
create table tt(sal int,deptno int);

insert into tt values (2450,10),(1300,10),(1300,10),(5000,10),(4000,20);
查询:
select sum(distinct sal) over(partition by deptno) sal,deptno from tt;
DB2 Database Error: ERROR [42601] [IBM][DB2/NT] SQL0441N  Invalid use of keyword DISTINCT or ALL with function "SUM".  SQLSTATE=42601

请问各位大哥,这条sql应该怎么写才能成功呢?
参与16

15同行回答

luckylee77luckylee77数据库管理员amssy
回复 5# 欧阳峰 非常感谢!我就是想知道用SUM() OVER()应该怎么写,我那样写的报错了。显示全部
回复 5# 欧阳峰

非常感谢!我就是想知道用SUM() OVER()应该怎么写,我那样写的报错了。收起
互联网服务 · 2013-12-02
浏览801
欧阳峰欧阳峰其它Freelancer
select distinct sal,deptno,sum(sal) from tt group by sal,deptno显示全部
select distinct sal,deptno,sum(sal) from tt group by sal,deptno收起
IT其它 · 2013-12-02
浏览731
luckylee77luckylee77数据库管理员amssy
回复 3# 欧阳峰    sal需要先去重。显示全部
回复 3# 欧阳峰


   sal需要先去重。收起
互联网服务 · 2013-12-02
浏览781
欧阳峰欧阳峰其它Freelancer
select distinct sum(sal) over(partition by deptno) sal,deptno from tt显示全部
select distinct sum(sal) over(partition by deptno) sal,deptno from tt收起
IT其它 · 2013-12-02
浏览733
luckylee77luckylee77数据库管理员amssy
不想使用group by,而是使用sum() over()来实现这个查询。显示全部
不想使用group by,而是使用sum() over()来实现这个查询。收起
互联网服务 · 2013-12-02
浏览794

提问者

luckylee77
数据库管理员amssy

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2013-12-02
  • 关注会员:1 人
  • 问题浏览:11295
  • 最近回答:2013-12-13
  • X社区推广