some tests
This commit is contained in:
137
egeland/sql/Script.sql
Normal file
137
egeland/sql/Script.sql
Normal file
@@ -0,0 +1,137 @@
|
|||||||
|
drop table if exists clients_initial_timestamps;
|
||||||
|
|
||||||
|
|
||||||
|
create temporary table clients_initial_timestamps as
|
||||||
|
select
|
||||||
|
entity_id,
|
||||||
|
created_at as init_time
|
||||||
|
FROM
|
||||||
|
(SELECT
|
||||||
|
entity_id,
|
||||||
|
created_at,
|
||||||
|
row_number() over by_users as place
|
||||||
|
from
|
||||||
|
db1.test.chat_messages cm
|
||||||
|
where created_by = 0
|
||||||
|
window by_users as
|
||||||
|
(partition by entity_id, created_by order by created_at)) t1
|
||||||
|
where t1.place = 1;
|
||||||
|
|
||||||
|
select * from clients_initial_timestamps;
|
||||||
|
|
||||||
|
drop table if exists managers_response_timestamps;
|
||||||
|
create temporary table managers_response_timestamps as
|
||||||
|
select
|
||||||
|
entity_id,
|
||||||
|
created_by as mop_id,
|
||||||
|
created_at as responce_time
|
||||||
|
from
|
||||||
|
(SELECT
|
||||||
|
entity_id,
|
||||||
|
created_by,
|
||||||
|
created_at,
|
||||||
|
row_number() over by_users as place
|
||||||
|
from
|
||||||
|
db1.test.chat_messages cm
|
||||||
|
where created_by <> 0
|
||||||
|
window by_users as
|
||||||
|
(partition by entity_id, created_by order by created_at)) t1
|
||||||
|
where
|
||||||
|
t1.place = 1;
|
||||||
|
|
||||||
|
select * from managers_response_timestamps;
|
||||||
|
|
||||||
|
|
||||||
|
select
|
||||||
|
*,
|
||||||
|
mrt.responce_time - cit.init_time as delta
|
||||||
|
from
|
||||||
|
clients_initial_timestamps as cit
|
||||||
|
join
|
||||||
|
managers_response_timestamps as mrt
|
||||||
|
on cit.entity_id = mrt.entity_id;
|
||||||
|
|
||||||
|
select
|
||||||
|
entity_id,
|
||||||
|
count(*) as cnt
|
||||||
|
from
|
||||||
|
db1.test.chat_messages cm
|
||||||
|
group by entity_id
|
||||||
|
order by cnt desc
|
||||||
|
|
||||||
|
select
|
||||||
|
created_by,
|
||||||
|
created_at,
|
||||||
|
rank() over(order by created_by) as dr
|
||||||
|
from
|
||||||
|
db1.test.chat_messages cm
|
||||||
|
where entity_id = 36541651
|
||||||
|
order by created_at
|
||||||
|
|
||||||
|
|
||||||
|
select
|
||||||
|
*,
|
||||||
|
row_number() over(partition by entity_id order by created_at)
|
||||||
|
from
|
||||||
|
chat_messages cm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
select
|
||||||
|
type,
|
||||||
|
entity_id,
|
||||||
|
created_by,
|
||||||
|
created_at,
|
||||||
|
created_at - lag(created_at) over(partition by entity_id, type order by created_at) as prev_msg_time,
|
||||||
|
rank() over(partition by entity_id, type order by created_at) as nm
|
||||||
|
from
|
||||||
|
chat_messages cm
|
||||||
|
where
|
||||||
|
entity_id = 37529075
|
||||||
|
order by created_at
|
||||||
|
offset 1;
|
||||||
|
|
||||||
|
|
||||||
|
-- result
|
||||||
|
with tmp as
|
||||||
|
(select
|
||||||
|
*,
|
||||||
|
created_at - lag(created_at) over(order by created_at) as diff
|
||||||
|
from
|
||||||
|
chat_messages cm
|
||||||
|
)
|
||||||
|
select
|
||||||
|
-- *
|
||||||
|
tmp.created_by,
|
||||||
|
avg(diff)
|
||||||
|
from
|
||||||
|
tmp
|
||||||
|
where
|
||||||
|
tmp.diff is not null
|
||||||
|
and
|
||||||
|
tmp.created_by <> 0
|
||||||
|
group by tmp.created_by
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user