oracle 同一字段减法 计算id 3小时内重复次数

tab1 字段 id,date
1001,2020-08-19 18:24:24
1001,2020-08-19 17:23:20
1001,2020-08-18 17:20:20
1002,2020-08-19 17:10:10
需求 计算id 3小时内重复次数 求帮忙解决万分感谢

如果是给定日期的三小时重复数据是很好计算的
举个例子比如当前输入的日期是 2020-08-19 18:24:24 如果是这个时间作为结束时间往前推三小时,也就是求
当前台输入2020-08-19 18:24:24时,那么计算的时间范围是 2020-08-19 15:24:24 到2020-08-19 18:24:24 的时间。那么这个问题很简单,你只要把这两个时间作为条件,对ID进行group by 再对结果进行count()就能知道ID到底重复执行了几次。。是想要这样的结果吗?

伪代码大概是这样
select id,count(*) from table where 时间 between 变量1 and 变量2 group by id