Oracle SQL:以前所有季度中的MAX之前的疼痛
发布时间:2020-12-31 00:53:45 所属栏目:站长百科 来源:网络整理
导读:用于获得所有季度中每个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 解决方法 你可以尝试使用MAX
|
用于获得所有季度中每个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
解决方法你可以尝试使用MAX窗口函数来实现它.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,4,3); insert into t values (41,2); insert into t values (41,4); insert into t values (41,2); 查询1: SELECT t1.ID,t1.QTR,max(SCORE) over(partition by ID order by QTR) SCORE FROM T t1 Results: | ID | QTR | 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 | (编辑:安卓应用网_ASP源码网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
