Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 19 additions & 9 deletions DSL/Resql/analytics/POST/status-all-chats.sql
Original file line number Diff line number Diff line change
@@ -1,4 +1,15 @@
WITH latest_messages AS (
WITH latest_chats AS (
SELECT DISTINCT ON (chat.base_id)
chat.base_id,
chat.ended,
chat.status,
chat.end_user_url,
chat.test
FROM chat
WHERE chat.ended::timestamptz BETWEEN :start::timestamptz AND :end::timestamptz
ORDER BY chat.base_id, chat.created DESC
),
latest_messages AS (
SELECT DISTINCT ON (message.chat_base_id)
message.chat_base_id,
message.event
Expand All @@ -7,21 +18,20 @@ WITH latest_messages AS (
ORDER BY message.chat_base_id, message.created DESC
)
SELECT
date_trunc(:metric, chat.ended) AS date_time,
date_trunc(:metric, lc.ended) AS date_time,
lm.event AS event,
COUNT(DISTINCT chat.base_id)
FROM chat
COUNT(DISTINCT lc.base_id) AS count
FROM latest_chats lc
JOIN latest_messages lm
ON chat.base_id = lm.chat_base_id
WHERE chat.status = 'ENDED'
ON lc.base_id = lm.chat_base_id
WHERE lc.status = 'ENDED'
AND (
array_length(ARRAY[:urls]::TEXT[], 1) IS NULL
OR chat.end_user_url LIKE ANY(ARRAY[:urls]::TEXT[])
OR lc.end_user_url LIKE ANY(ARRAY[:urls]::TEXT[])
)
AND (
:showTest = TRUE
OR chat.test = FALSE
OR lc.test = FALSE
)
AND chat.ended::timestamptz BETWEEN :start::timestamptz AND :end::timestamptz
GROUP BY date_time, event
ORDER BY event;
28 changes: 19 additions & 9 deletions DSL/Resql/analytics/POST/status-csa-chats.sql
Original file line number Diff line number Diff line change
@@ -1,4 +1,15 @@
WITH latest_messages AS (
WITH latest_chats AS (
SELECT DISTINCT ON (chat.base_id)
chat.base_id,
chat.ended,
chat.status,
chat.end_user_url,
chat.test
FROM chat
WHERE chat.ended::timestamptz BETWEEN :start::timestamptz AND :end::timestamptz
ORDER BY chat.base_id, chat.created DESC
),
latest_messages AS (
SELECT DISTINCT ON (message.chat_base_id)
message.chat_base_id,
message.event
Expand All @@ -8,21 +19,20 @@ WITH latest_messages AS (
ORDER BY message.chat_base_id, message.created DESC
)
SELECT
date_trunc(:metric, chat.ended) AS date_time,
date_trunc(:metric, lc.ended) AS date_time,
lm.event AS event,
COUNT(DISTINCT chat.base_id)
FROM chat
COUNT(DISTINCT lc.base_id) AS count
FROM latest_chats lc
JOIN latest_messages lm
ON chat.base_id = lm.chat_base_id
WHERE chat.status = 'ENDED'
ON lc.base_id = lm.chat_base_id
WHERE lc.status = 'ENDED'
AND (
array_length(ARRAY[:urls]::TEXT[], 1) IS NULL
OR chat.end_user_url LIKE ANY(ARRAY[:urls]::TEXT[])
OR lc.end_user_url LIKE ANY(ARRAY[:urls]::TEXT[])
)
AND (
:showTest = TRUE
OR chat.test = FALSE
OR lc.test = FALSE
)
AND chat.ended::timestamptz BETWEEN :start::timestamptz AND :end::timestamptz
GROUP BY date_time, event
ORDER BY event;