PGSQL 找出 连续3天,时间是0点到23点的数据
select t.id from (
select t.id ,to_date(t.create_time, 'yyyy-MM-dd') as create_date
, row_number() over ( partition by t.id order by t.create_time ) as rn
from table t where
EXTRACT(HOUR FROM to_timestamp(t.create_time, 'yyyy-MM-dd HH24:mi:ss') ) between 0 and 23
) t group by t.id, t.create_date :: TIMESTAMP - (t.rn || ' day')::interval
having count(1) >= 3 limit 10 offset 0