Oracle SQL:以前所有季度中的MAX之前的疼痛
发布时间:2020-12-12 12:40:34 所属栏目:百科 来源:网络整理
导读:用于获得所有季度中每个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 | (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |