【问题标题】:Write a query to get the sum of similar ids to display on each record编写查询以获取要在每条记录上显示的相似 id 的总和
【发布时间】:2020-10-13 03:12:50
【问题描述】:

我想计算相同 id 的总和并显示在每条记录中。预期样本如下

【问题讨论】:

标签: sql hive hiveql


【解决方案1】:

使用分析 SUM():

SELECT
      Code, SUM(Value) OVER (PARTITION BY Code) as Value
  FROM mytable;

【讨论】:

    【解决方案2】:

    对窗口求和应该可以让您保持每条记录的总和。 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING 确保考虑所有值

    SELECT
       Code,
       SUM(Value) OVER (PARTITION BY Code ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
    FROM
      mytable;
    

    【讨论】:

    • rows 组件是多余的,通常被忽略。这就是为什么 leftjoin 的答案是首选的原因。
    • @GordonLinoff 谢谢你。我将不得不再次检查我当前版本的配置单元。另一个用户遇到了类似的困难stackoverflow.com/questions/25082057/…,但我可以调查更多
    【解决方案3】:

    按代码从您的表名组中选择 id,sum(value)

    【讨论】:

      猜你喜欢
      • 2020-04-09
      • 2021-04-26
      • 1970-01-01
      • 1970-01-01
      • 2011-04-23
      • 1970-01-01
      • 2021-01-10
      • 1970-01-01
      • 2020-12-15
      相关资源
      最近更新 更多