Ваш datepart()
имеет неправильную метку времени (current_timestamp
вместо EVENT_TIMESTAMP
):
select to_date(EVENT_TIMESTAMP) as SessDate,
date_part(hour, EVENT_TIMESTAMP) as SessHour,
count(distinct event_data:"u-token") as userTokenCount
from APPTRANSACTIONTABLE
where event_timestamp BETWEEN '2020-03-12T00:00:00.00' AND '2020-03-14T23:59:59.59'
group by SessHour, SessDate
order by SessHour, SessDate;
Я бы также предложил написать предложение WHERE
более просто как:
where event_timestamp >= '2020-03-12' AND
event_timestamp < '2020-03-15'
Нет причин отфильтровывать события, которые происходят за одну секунду до полуночи. Вы также можете использовать date_trunc()
для дальнейшего упрощения:
select date_trunc('hour', EVENT_TIMESTAMP) as session_day_hour,
count(distinct event_data:"u-token") as userTokenCount
from APPTRANSACTIONTABLE
where event_timestamp >= '2020-03-12' AND
event_timestamp < '2020-03-15'
group by session_day_hour
order by session_day_hour;