SUM OVER PARTITION BY ORDER BY(分组累计计算方法)

来源:互联网 发布:广电网络设备有哪些 编辑:程序博客网 时间:2024/05/30 04:38

仅限SQL SERVER2012以上版本

create table TEST(ID int identity(1,1),NAME NVARCHAR(50),GROUPNAME NVARCHAR(50),GRADE INT,DIRECTION INT)DROP TABLE TESTINSERT INTO TEST(NAME,GROUPNAME,GRADE,DIRECTION)SELECT '小明','开发部',90,-1 UNION ALLSELECT '小张','开发部',89,+1 UNION ALLSELECT '小白','开发部',100,-1 UNION ALLSELECT '小王','财务部',70,-1 UNION ALLSELECT '小赵','财务部',69,+1 UNION ALLSELECT '小柳','财务部',90,+1 UNION ALLSELECT '小高','行政部',78,-1 UNION ALLSELECT '小王','行政部',77,+1 UNION ALLSELECT '小李','行政部',99,-1 UNION ALLSELECT '小吴','行政部',34,-1SELECT * FROM TESTSELECT  ID,        NAME,        GROUPNAME,        GRADE,        DIRECTION,        SUM(GRADE*DIRECTION) OVER(PARTITION BY GROUPNAME ORDER BY ID) AS ACCUMULATIONFROM TEST
阅读全文
0 0
原创粉丝点击