template multiple queries for filtering

This commit is contained in:
Francis Cao 2024-07-31 09:35:29 -07:00
parent 3494ae46b7
commit cb4368e12c
4 changed files with 66 additions and 14 deletions

View file

@ -1,4 +1,3 @@
/* eslint-disable no-unused-vars, @typescript-eslint/no-unused-vars */
import clickhouse from 'lib/clickhouse';
import { EVENT_TYPE } from 'lib/constants';
import { CLICKHOUSE, PRISMA, runQuery } from 'lib/db';
@ -69,8 +68,30 @@ async function clickhouseQuery(
});
return rawQuery(
// `
// select
// sum(t.c) as "pageviews",
// count(distinct t.session_id) as "visitors",
// count(distinct t.visit_id) as "visits",
// sum(if(t.c = 1, 1, 0)) as "bounces",
// sum(max_time-min_time) as "totaltime"
// from (
// select
// session_id,
// visit_id,
// count(*) c,
// min(created_at) min_time,
// max(created_at) max_time
// from website_event
// where website_id = {websiteId:UUID}
// and created_at between {startDate:DateTime64} and {endDate:DateTime64}
// and event_type = {eventType:UInt32}
// ${filterQuery}
// group by session_id, visit_id
// ) as t;
// `,
`
select
select
sum(views) as "pageviews",
uniq(session_id) as "visitors",
uniq(visit_id) as "visits",