update mat view, now save only last answer for session
This commit is contained in:
parent
465cc5e6e0
commit
d62217cf39
@ -35,10 +35,15 @@ CREATE MATERIALIZED VIEW IF NOT EXISTS mv_last_answers_events
|
||||
ENGINE = MergeTree()
|
||||
ORDER BY (ctxsession, event_time) AS
|
||||
SELECT
|
||||
event_time,ctxsession,ctxquizid,ctxquestionid,ctxidint,message,keyos,ctxuserip,ctxuserport,keydomain,keypath,ctxquiz,ctxreferrer
|
||||
FROM statistics WHERE message IN ('InfoQuizOpen', 'InfoAnswer', 'InfoResult')
|
||||
AND event_level = 'info' AND create_time = (SELECT max(create_time) FROM statistics AS inner_table
|
||||
WHERE inner_table.ctxsession = statistics.ctxsession);
|
||||
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 create_time DESC) as row_num
|
||||
FROM statistics
|
||||
WHERE message IN ('InfoQuizOpen', 'InfoAnswer', 'InfoResult') AND event_level = 'info') AS sorted
|
||||
WHERE row_num = 1;
|
||||
`
|
||||
_, err := s.conn.ExecContext(ctx, query)
|
||||
if err != nil {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user