【问题标题】:How to get running total of unique IDs如何获得运行的唯一 ID 总数
【发布时间】:2021-09-25 22:01:24
【问题描述】:

我需要获取唯一 ID 的总和

select ID, min(date_time)
,case when ID is null then 0 else 1 end as New_ID
,SUM(New_ID) over (order by ID) as runningTotal_ID
          from Table1
          Group by 1

或者如果我可以直接数 select Id, count(Id) over (order by ID) as Running Total

但是绑定这个它给了我 10000... 计数但只有 200 个 ID

谁能帮帮我!

【问题讨论】:

  • 编辑您的问题并显示示例数据和所需结果。目前尚不清楚您希望运行总数是多少。

标签: sql amazon-web-services amazon-athena dbeaver


【解决方案1】:

您可以使用 dense_rank() 。 . .假设您希望他们按顺序分配ids:

select t1.*, dense_rank() over (order by id) as runningTotalId
from Table1 t1;

如果没有,你可以标记第一个使用累积和:

select t1.*,
       sum(case when seqnum = 1 then 1 else 0 end) over (order by datetime) as runningTotalId
from (select t1.*, 
             row_number() over (partition by id order by datetime) as seqnum
      from table1 t1
     ) t

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 2011-05-12
    • 1970-01-01
    • 2015-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多