Fixed session queries.

This commit is contained in:
Mike Cao 2023-08-04 14:00:37 -07:00
parent c0ef8dace4
commit 2559263e91
2 changed files with 11 additions and 12 deletions

View file

@ -21,15 +21,15 @@ async function relationalQuery(websiteId: string, column: string, filters: Query
}); });
return rawQuery( return rawQuery(
`select ${column} x, count(*) y `
from website_event select ${column} x, count(*) y
inner join session from website_event
on session.session_id = website_event.session_id inner join session
where website_event.website_id = {{websiteId::uuid}} on session.session_id = website_event.session_id
and website_event.created_at between {{startDate}} and {{endDate}} where website_event.website_id = {{websiteId::uuid}}
and website_event.event_type = {{eventType}} and website_event.created_at between {{startDate}} and {{endDate}}
${filterQuery} and website_event.event_type = {{eventType}}
) as t ${filterQuery}
group by 1 group by 1
order by 2 desc order by 2 desc
limit 100`, limit 100`,

View file

@ -14,7 +14,7 @@ export async function getSessionStats(...args: [websiteId: string, filters: Quer
async function relationalQuery(websiteId: string, filters: QueryFilters) { async function relationalQuery(websiteId: string, filters: QueryFilters) {
const { timezone = 'utc', unit = 'day' } = filters; const { timezone = 'utc', unit = 'day' } = filters;
const { getDateQuery, parseFilters, rawQuery } = prisma; const { getDateQuery, parseFilters, rawQuery } = prisma;
const { filterQuery, params } = await parseFilters(websiteId, { const { filterQuery, joinSession, params } = await parseFilters(websiteId, {
...filters, ...filters,
eventType: EVENT_TYPE.pageView, eventType: EVENT_TYPE.pageView,
}); });
@ -25,8 +25,7 @@ async function relationalQuery(websiteId: string, filters: QueryFilters) {
${getDateQuery('website_event.created_at', unit, timezone)} x, ${getDateQuery('website_event.created_at', unit, timezone)} x,
count(distinct website_event.session_id) y count(distinct website_event.session_id) y
from website_event from website_event
inner join session ${joinSession}
on session.session_id = website_event.session_id
where website_event.website_id = {{websiteId::uuid}} where website_event.website_id = {{websiteId::uuid}}
and website_event.created_at between {{startDate}} and {{endDate}} and website_event.created_at between {{startDate}} and {{endDate}}
and event_type = {{eventType}} and event_type = {{eventType}}