From d2537b8ba40ef00faae1ffb47cb189c762d87a1b Mon Sep 17 00:00:00 2001 From: Pavel Date: Thu, 20 Jun 2024 12:37:53 +0300 Subject: [PATCH] update mat view --- repository/statistics/click_statistics.go | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/repository/statistics/click_statistics.go b/repository/statistics/click_statistics.go index e2b0dcf..7bd3451 100644 --- a/repository/statistics/click_statistics.go +++ b/repository/statistics/click_statistics.go @@ -37,15 +37,10 @@ CREATE MATERIALIZED VIEW IF NOT EXISTS mv_last_answers_events ENGINE = MergeTree() ORDER BY (ctxsession, event_time) POPULATE AS SELECT - event_time, ctxsession, ctxquizid, ctxquestionid, ctxidint, message, keyos, - ctxuserip, ctxuserport, keydomain, keypath, ctxquiz, ctxreferrer -FROM (SELECT - event_time, ctxsession, ctxquizid, ctxquestionid, ctxidint, message, keyos, - ctxuserip, ctxuserport, keydomain, keypath, ctxquiz, ctxreferrer, - row_number() OVER (PARTITION BY ctxsession ORDER BY event_time DESC) as row_num - FROM statistics - WHERE message IN ('InfoQuizOpen', 'InfoAnswer', 'InfoResult') AND event_level = 'info') AS sorted -WHERE row_num = 1; + event_time, ctxsession, ctxquizid, ctxquestionid, ctxidint, message,ctxquiz +FROM statistics +WHERE message IN ('InfoQuizOpen', 'InfoAnswer', 'InfoResult') AND event_level = 'info'; +; ` _, err := s.conn.ExecContext(ctx, query) if err != nil { @@ -78,7 +73,7 @@ func (s *StatisticClick) getFunnel(ctx context.Context, quizID int64, from uint6 query := ` SELECT DISTINCT last_que, reversed FROM ( SELECT groupUniqArray(ctxquestionid) AS reversed, arraySlice(arrayReverse(groupArray(ctxquestionid)), 1, 1)[1] AS last_que - FROM statistics WHERE ctxquizid = ? AND event_time BETWEEN ? AND ? GROUP BY ctxsession ) AS sub; + FROM mv_last_answers_events WHERE ctxquizid = ? AND event_time BETWEEN ? AND ? GROUP BY ctxsession ) AS sub; ` rows, err := s.conn.QueryContext(ctx, query, quizID, from, to)