common/dal/ch_schema/000001_init.up.sql

43 lines
1.3 KiB
SQL

CREATE MATERIALIZED VIEW IF NOT EXISTS mv_answers
ENGINE = MergeTree() ORDER BY event_time
POPULATE AS
SELECT ctxquizid AS quizid,
ctxquestionid AS questionid,
ctxsession AS session,
event_time
FROM default.statistics
WHERE (message IN ('InfoQuizOpen', 'InfoAnswer', 'InfoResult'))
AND (event_level = 'info')
LIMIT 1 BY ctxquestionid, ctxsession;
CREATE VIEW IF NOT EXISTS view_last_answers AS
SELECT last_quesion,
any(last_quiz) AS quiz,
argMax(session, length(questions)) AS long_session
FROM default.view_respondent_paths
GROUP BY last_quesion;
CREATE VIEW IF NOT EXISTS view_pipelines_signs AS
SELECT target_quiz,
questionid,
long_sess
FROM (
SELECT questionid,
any(quiz) AS target_quiz,
any(long_session) AS long_sess,
groupArray(last_quesion) AS footsteps
FROM default.view_last_answers
INNER JOIN default.mv_answers ON long_session = session
GROUP BY questionid
)
WHERE length(footsteps) = 1;
CREATE VIEW IF NOT EXISTS view_respondent_paths AS
SELECT session,
groupArray(questionid) AS questions,
anyLast(questionid) AS last_quesion,
anyLast(quizid) AS last_quiz
FROM default.mv_answers
GROUP BY session;