Eth*_*mih 1 sql amazon-web-services dbeaver amazon-athena
我需要获取唯一 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
Run Code Online (Sandbox Code Playgroud)
或者也许我可以直接数
select Id, count(Id) over (order by ID) as Running Total
但绑定这个它给了我 10000...计数但只有 200 个 ID
任何人都可以帮我吗!
Gor*_*off 10
您可以使用dense_rank()。。。假设您想要它们,id则按顺序分配:
select t1.*, dense_rank() over (order by id) as runningTotalId
from Table1 t1;
Run Code Online (Sandbox Code Playgroud)
如果没有,您可以标记第一个并使用累积和:
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1126 次 |
| 最近记录: |