当前位置: 首页 > 面试题库 >

Oracle Query仅按最近3年的年份汇总数量

狄雅珺
2023-03-14
问题内容

我需要从YEAR除以数量的总和中找出MAX VALUE(需要编写Oracle查询)。

例如

 ITEM_ID     ORG_ID     YEAR    QTY

  100         121        2015    10
  100         121        2016    5
  100         121        2017    8
  101         146        2014    10
  101         146        2015    11
  101         146        2016    12
  101         146        2017    13

我的输出应该是这样的:

for Item_id 100,121 the max_avg should be max(10+5+8/3, 5+10/2, 10/1)... max (7.6, 7.5, 8) = 8
for Item_id 101,146 the max_avg should be (11+12+13/3, 12+13/2, 13/1)... max(11.5, 12, 12.5, 13) = 13... I should not consider 10+11+12+13/4。我只需要考虑过去3年汇总的AVG并分配最大值

 ITEM_ID     ORG_ID     YEAR    QTY   MAX_AVG

  100         121        2015    10   8
  100         121        2016    5    8
  100         121        2017    8    8
  101         146        2014    10   13
  101         146        2015    11   13
  101         146        2016    12   13
  101         146        2017    13   13

任何帮助将不胜感激。


问题答案:
select item_id, org_id, yr, qty,
       greatest (
 avg(case when yr = 2017                then qty end) over (partition by item_id, org_id),
 avg(case when yr in (2016, 2017)       then qty end) over (partition by item_id, org_id),
 avg(case when yr in (2015, 2016, 2017) then qty end) over (partition by item_id, org_id)
       ) as max_avg
from   inputs_table
;


 类似资料:
  • 我试图按年度汇总我的结果,但我不明白为什么它不起作用。 数据看起来像... 和我的查询代码: 和结果: 如何按年度或月度汇总结果?

  • 因此,我想知道如何在Python中识别直到最近的年份(即截至2018年)。

  • 问题内容: 我每年进行一次嵌套聚合,然后每年在Elasticsearch中进行每周一次嵌套聚合。years年有53周,但是ElasticSearch的结果给出的是year年的最后一周key =“ 1”而不是“ 53”。如何让ElasticSearch在上周返回53而不是1? 这是我的查询: 结果(删除的数据在中间): 2008年是a年,最后一个星期有“ key_as_string”:“ 1”。我希

  • WXG 二面挂了,两面面评都很差,找人捞都捞不动了🥲。 上周后面面了几家, 整体都很随意, 就没有总结。 美团和百川智能的大模型二面,整体都是问了一下项目,题都没做。 百川因为是做数据对大模型效果的研究,会问一些相关的场景题 1. 让我设计一个实验,来研究数据的作用。 2. 有没有看过一些大模型数据相关的论文?讲一讲 智谱一面就随便聊项目,也没做题,30 分钟。 但是入职很急,今天 HR 面拒了

  • 我试图只得到今年的数据,但我的“where子句”似乎有问题。但当我在where子句中输入特定年份时,它就起作用了。除了where子句之外,所有的东西都在工作。 我希望你们能帮我。

  • 问题内容: 我试图查询包含年份列的表,并以逗号分隔的年份范围的字符串形式返回这些年份。年份范围将由数组中出现的连续年份确定,非连续年份/年份范围应以逗号分隔。 而不是数据类型的原因是,其中一些值包含而不是年份列表。我们可以忽略这些结果。 到目前为止,我几乎没有运气解决这个问题,因为我什至不知道从哪里开始。 有人可以给我一些指导或提供一些有用的示例来说明如何解决诸如挑战之类的问题吗? 例子 产出目标