Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 获取同一用户在网站上多次访问的时间戳差异_Google Sheets_Google Bigquery_Timestamp - Fatal编程技术网

Google sheets 获取同一用户在网站上多次访问的时间戳差异

Google sheets 获取同一用户在网站上多次访问的时间戳差异,google-sheets,google-bigquery,timestamp,Google Sheets,Google Bigquery,Timestamp,我在BigQuery中有数据,这些数据有特定的列,如时间戳和用户ID,一些用户多次访问该网站 目标是找出用户多次访问的时差 即使他们访问了14次,我也需要找出每次连续访问之间的差异 这是我的数据示例: 这将有助于假设您在几分钟内需要增量。你可以随时切换到你需要的任何时段,如小时、秒等 请注意分析函数LAG的用法,它使用根据用户id进行分区并按时间戳ts排序的数据。此外,请注意,用户id的第一次出现的差异为0,因为这是用户第一次出现:。希望能有帮助 select user_id, coalesce

我在BigQuery中有数据,这些数据有特定的列,如时间戳和用户ID,一些用户多次访问该网站

目标是找出用户多次访问的时差

即使他们访问了14次,我也需要找出每次连续访问之间的差异

这是我的数据示例:


这将有助于假设您在几分钟内需要增量。你可以随时切换到你需要的任何时段,如小时、秒等

请注意分析函数LAG的用法,它使用根据用户id进行分区并按时间戳ts排序的数据。此外,请注意,用户id的第一次出现的差异为0,因为这是用户第一次出现:。希望能有帮助

select user_id, coalesce(timestamp_diff(ts_a, ts_b, minute), 0) as diff_from_prv_visit_minutes from (
  select user_id, ts as ts_a, lag(ts) over (partition by user_id order by ts) as ts_b
  from `mydataset.mytable`
)

我有访问我的网站的用户数据,如图所示,时间戳如下。如果在1分钟的时间跨度内,一个用户来了10次,这意味着有10个时间戳,我需要将该用户列为黑名单,将其视为机器人。我尝试按递增顺序排序时间戳,然后在用户ID相同的情况下查找连续时间戳的差异,但无法做到这一点。因此,正在寻找一种不同的方法。请使用选项将您迄今为止尝试过的SQL添加到您的问题中