用于获得所有季度中每个ID的MAX先前分数的最佳方法。
给出:
ID QTR SCORE
21 1 3
21 2 5
21 3 3
21 4 3
41 1 2
41 2 2
41 3 4
41 4 2
预期:
ID QTR PREV_MAX_SCORE
21 1 3
21 2 5
21 3 5
21 4 5
41 1 2
41 2 2
41 3 4
41 4 4
答案 0 :(得分:4)
您可以尝试使用BeginDeferWindowPos/DeferWindowPos/EndDeferWindowPos
窗口函数来制作它。
MAX
查询1 :
CREATE TABLE T(
ID int,
QTR int,
SCORE int
);
insert into t values (21,1,3);
insert into t values (21,2,5);
insert into t values (21,3,3);
insert into t values (21,4,3);
insert into t values (41,1,2);
insert into t values (41,2,2);
insert into t values (41,3,4);
insert into t values (41,4,2);
Results :
SELECT t1.ID,
t1.QTR,
max(SCORE) over(partition by ID order by QTR) SCORE
FROM T t1
答案 1 :(得分:2)