计算 10 年时间间隔内的记录数量

问题描述 投票:0回答:1

我在 Verisk Touchstone 经营一个地点,想了解平均每 10 年发生多少次飓风事件(记录)。

我可以通过在输出中每 10 年运行以下脚本(见下文)来解决这个问题,但这需要很长时间。您知道是否有办法自动执行此操作/一次性执行所有操作吗?希望我说得有道理......

select *
from [dbo].[t1_HAZ_Intensity]
where YearID<=10
 
select *
from [dbo].[t1_HAZ_Intensity]
where YearID>=10 and YearID<=20

select *
from [dbo].[t1_HAZ_Intensity]
where YearID>=20 and YearID<=30
 

...等等

我尝试运行以下代码,但这需要很长时间,因为事件目录中有 2000 年

select *
from [dbo].[t1_HAZ_Intensity]
where YearID<=10
 
select *
from [dbo].[t1_HAZ_Intensity]
where YearID>=10 and YearID<=20

select *
from [dbo].[t1_HAZ_Intensity]
where YearID>=20 and YearID<=30

....

sql group-by
1个回答
0
投票

您可以计算几十年并用它们来

GROUP BY

select count(*) as count, concat(decade, '-', decade + 9) as year
from (select floor(YearID / 10) * 10 as decade
      from [dbo].[t1_HAZ_Intensity]) t
group by decade
© www.soinside.com 2019 - 2024. All rights reserved.