【SQL 程式設計你也行】SQL Server新功能之函式:sum函式(2005、2008、2012、2014)
阿新 • • 發佈:2019-02-05
sum函式在SQL Server 2005中,添加了 over(partition by )的功能。
在2012、1014中添加了 over(partition by order by )的功能,以及rows/range功能。
下面是具體的例子:
if object_id('test') is not null drop table test go create table test ( id int primary key, name varchar(20), groupname varchar(20) ) insert into test values(1,'小明','開發部'), (4,'小張','開發部'), (5,'小白','開發部'), (8,'小王','財務部'), (9, null,'財務部'), (15,'小劉','財務部'), (16,'小高','行政部'), (18,'小王','行政部'), (23,'小李','行政部'), (29,'小吳','行政部');
select *,
sum(id) over(partition by groupname ) 每個組的id之和,
sum(id) over(partition by groupname order by id) 每個組的id之和,
sum(id) over(order by id) id之和
from test
select *, sum(id) over(partition by groupname order by id rows between current row and unbounded following) 當前行_最後1行, sum(id) over(partition by groupname order by id rows between unbounded preceding and current row) 第1行_當前行 from test