0

我有一个包含 3 个字段的表:userIDurl和用户操作的记录日期时间。我想在 Redash 的 sql Redshift 中编写一个查询,它返回一个用户会话列表(所有操作之间的时间少于一小时),其中包含字段userIDstart datetimeend datetime。我可以用什么来实现这一目标?

4

2 回答 2

2

查看v_connection_summary.sql我们的 GitHub 存储库中的视图。

https://github.com/awslabs/amazon-redshift-utils/blob/76823b71c7c5c9c7a8fb99183e1662a9476df65a/src/AdminViews/v_connection_summary.sql

于 2018-05-09T20:29:32.707 回答
0

我的 0.02 美元,我使用以下查询,因为它不包括“丢失的连接”并且只显示具有活动会话的连接。它还显示正在运行的查询(如果有)。

-- Who
SELECT s.user_name,
       s.process,
       s.starttime,
       s.db_name,
       c.remotehost,
       si.starttime query_start_time,
       si.text      query
FROM stv_sessions s
    LEFT JOIN stl_connection_log c
        ON s.user_name = c.username AND s.process = c.pid AND c.event = 'authenticated'
    LEFT JOIN stv_inflight si ON c.pid = si.pid
WHERE s.user_name <> 'rdsdb'
ORDER BY user_name, starttime;
于 2021-11-24T15:04:03.953 回答