PCU到底指的是什么?我有这样的数据,谁能告诉我,从这些数据中,峰值并发用户的结果会是什么?如何根据这些数据使用sql查询来计算PCU?

发布于 2021-02-19 17:06:01
PCU是指在给定时间段内同时登录的最大用户数。
在您的数据中,您只有两个用户,所以它永远不会超过2。我们可以看到,有时两个用户都是同时登录的,因此对此数据执行PCU=2。
发布于 2021-02-19 17:17:16
假设您有权访问窗口函数/分析函数...
SELECT
MAX(concurrent_users) AS peak_concurrent_users
FROM
(
SELECT
SUM(CASE WHEN event = 'logout' THEN -1 ELSE 1 END)
OVER (ORDER BY __time, user_id, event)
AS concurrent_users
FROM
yourTable
WHERE
event IN ('login', 'logout')
)
AS running_total这只是将登录或注销的人数按时间顺序相加,并保持运行总数。当有人登录时,数字会上升,当有人注销时,数字会下降。
在两个事件完全同时发生的情况下,它假设最低的user_id实际上是最先发生的。如果用户在完全相同的时间登录和注销,它会假设登录实际上是先进行的。
https://stackoverflow.com/questions/66274537
复制相似问题