Oracle SQL:以前所有季度中的MAX之前的疼痛

Oracle SQL:以前所有季度中的MAX之前的疼痛,第1张

概述用于获得所有季度中每个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 用于获得所有季度中每个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) scoreFROM 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 |
总结

以上是内存溢出为你收集整理的Oracle SQL:以前所有季度中的MAX之前的疼痛全部内容,希望文章能够帮你解决Oracle SQL:以前所有季度中的MAX之前的疼痛所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1155765.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存