BigQuery 选择一个时间间隔内的数据

2023-12-03

我的数据看起来像

姓名|来自 |前往城市 |请求日期

安迪|巴黎 |伦敦| 2014年8月21日 12:00

莉娜 |科隆 |柏林 | 2014年8月22日 18:00

安迪|巴黎 |伦敦 | 2014年8月22日 06:00

丽莎|罗马 |尼尔佩尔 | 2014年8月25日 18:00

莉娜 |罗马 |伦敦 | 2014年8月21日 20:00

丽莎|罗马 |尼尔佩尔 | 2014年8月24日 18:00

安迪|巴黎 |伦敦| 2014年8月25日 12:00

我想知道一个人在 +/- 一天内有多少个相同的驱动器请求。我很乐意收到一张桌子,上面写着:

姓名|来自 |前往城市 |平均请求日期| # 要求

安迪|巴黎 |伦敦| 2014/08/21 21:00 | 2

莉娜 |科隆 |柏林 | 2014/08/22 18:00 | 1

丽莎|罗马 |尼尔佩尔 | 2014/08/25 06:00 | 2

莉娜 |罗马 |伦敦 | 2014/08/21 20:00 | 1

安迪|巴黎 |伦敦| 2014/08/25 12:00 | 1

这将是一个结果group by条款。但是,编写这样一个条件来检查初始请求后 24 小时内是否有相同的请求以及有多少个相同的请求,通常是否可行? 现在我在Excel中下载数据并在那里执行,但是数据很多,因此效率不高......

样本数据:

让我们首先构建一个示例数据集:

select * from (select 'Andy' as name,'Paris' as f,'London' as to, '2014-08-21 12:00' as date),
(select 'Lena' as name,'Koln' as f,'Berlin' as to, '2014-08-22 18:00' as date),
(select 'Andy' as name,'Paris' as f,'London' as to, '2014-08-22 06:00' as date),
(select 'Lisa' as name,'Rome' as f,'Neapel' as to, '2014-08-25 18:00' as date),
(select 'Lena' as name,'Rome' as f,'London' as to, '2014-08-21 20:00' as date),
(select 'Lisa' as name,'Rome' as f,'Neapel' as to, '2014-08-24 18:00' as date),
(select 'Andy' as name,'Paris' as f,'London' as to, '2014-08-25 12:00' as date)

一种方法是将窗口函数与 RANGE 窗口一起使用。为此,需要将第一个日期转换为天,因为 RANGE 要求排序列为连续数字。 PARTITION BY 子句类似于 GROUP BY - 它列出了定义“相同”驱动器请求的列(在您的情况下 - 名称、从和到)。然后您可以简单地使用 COUNT(*) 来计算该窗口内的天数。

select name, f, to, date, count(*) 
  over(partition by name, f, to
       order by day
       range between 1 preceding and 1 following) from (
select name, f, to, date, integer(timestamp(date)/1000000/60/60/24) day from
(select 'Andy' as name,'Paris' as f,'London' as to, '2014-08-21 12:00' as date),
(select 'Lena' as name,'Koln' as f,'Berlin' as to, '2014-08-22 18:00' as date),
(select 'Andy' as name,'Paris' as f,'London' as to, '2014-08-22 06:00' as date),
(select 'Lisa' as name,'Rome' as f,'Neapel' as to, '2014-08-25 18:00' as date),
(select 'Lena' as name,'Rome' as f,'London' as to, '2014-08-21 20:00' as date),
(select 'Lisa' as name,'Rome' as f,'Neapel' as to, '2014-08-24 18:00' as date),
(select 'Andy' as name,'Paris' as f,'London' as to, '2014-08-25 12:00' as date))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BigQuery 选择一个时间间隔内的数据 的相关文章

  • Postgres 按查询分组

    我正在尝试在 postgres 的查询中使用 group by 我无法让它按照我想要的方式工作 以便根据需要对结果进行分组 这是另一个堆栈问题的扩展我刚刚回答过的递归查询 https stackoverflow com questions
  • 分组依据检索 3 个值

    我有以下查询 SELECT Cod MIN Id AS id Min MAX Id AS id Max retrieve value in the middle COUNT AS Tot FROM Table a NOLOCK GROUP
  • 计算级别内的值

    我在 R 中生成了一组级别cut 例如假设 0 到 1 之间的小数值 分为 0 1 个区间 gt frac lt cut c 0 1 breaks 10 gt levels frac 1 0 001 0 1 0 1 0 2 0 2 0 3
  • 如何解密 BigQuery 中的列?

    我在 BigQuery 中有一些加密列 我想使用 BigQuery 函数对其进行解密 用于加密它们的机制是 AES 256 使用的向量以 UTF8 编码 生成的数据采用 Base64 加密 我想要做的是使用函数解密 BigQuery 中传递
  • Google BigQuery 底层架构

    所以我大约 10 分钟前才开始摆弄 Google BigQuery 我想知道是否有人知道他们用来存储数据的底层架构 例如 这只是他们自己的下一代 BigTable 基础设施吗 另外 他们在索引 索引重建等方面使用什么样的策略是否清楚 我只是
  • 在bigquery中比较两个表的有效方法

    我有兴趣比较两个表是否包含相同的数据 我可以这样做 standardSQL SELECT key1 key2 FROM SELECT table1 key1 table1 key2 table1 column1 table2 column1
  • BigQuery 类型有多少字节

    以下类型在 BigQuery 中占用多少字节 时间戳 Datetime Date 我的猜测是日期可以存储在 2 个字节中 时间戳可能是 8 个字节 但我不确定这一点 并且在https cloud google com bigquery do
  • bq 命令行工具:当文本包含“ > ”或“ < ”时查询失败

    我在使用 bq 命令行工具运行包含 gt 或 下面的前两个示例显示 当我尝试从 id gt 300 的表中选择行时 不会返回任何内容 但当我选择 id 301 时 我会得到结果 后两个示例表明 当我尝试选择 id 有谁知道为什么会发生这种情
  • Google BigQuery DML 更新仍在流缓冲区中的行的查询

    我最近一直在尝试为 Google 的 Big Query 流 api 提出一种重试机制 用于使用 UPDATE 语句对有时仍位于流缓冲区中的行运行 DML 查询 由于这些行尚未导出到表中 BI 的 api 禁止对它们运行 UPDATE 或
  • ORDER BY 之后的 GROUP BY

    我需要去做GROUP BY after ORDER BY 我不明白为什么 MySQL 不支持这一点 这是我的代码 SELECT pages id contents id language ORDER BY FIND IN SET langu
  • 使用 BigQuery 结合 WHERE 子句查找标准差结果的异常值

    标准差分析是查找异常值的有效方法 有没有办法合并此查询的结果 找到远离平均值的第四个标准差的值 SELECT AVG weight pounds STDDEV weight pounds 4 as high FROM publicdata
  • MySQL 中非空值的计数和分组

    我需要计算按特定 ID 分组的非空 我的意思是至少包含 1 个字符的字符串 行 例如 我的数据可能如下所示 form id mapping 1 value 1 1 1 value 2 2 2 NULL 3 value 3 我想计算每个表单的
  • 如何在 BigQuery/SQL 中将行转置为包含大量数据的列?

    我在将 BigQuery 中的大量数据表 15 亿行 从行转置为列时遇到问题 我可以弄清楚如何在硬编码时使用少量数据来完成此操作 但是对于如此大量的数据 该表的快照如下所示 CustomerID Feature Value 1 A123 3
  • 在 BigQuery 视图中找不到字段

    这可能只是 BQ 中的一个错误 但也许有人可以指出我的一些错误 本质上我想做的是添加一个字段 比如new field 到一个表并将其保存为视图以便稍后查询 当我查询视图时 它会抛出一个关于无法找到该视图的错误new field 复制此错误的
  • 将 CSV 文件读取到嵌套对象

    我有 CSV 文件 例如 Title Column Value A Z1 1 A Z1 2 A Z1 3 A Z2 1 A Z2 5 B Z3 4 B Z3 6 我想将此 csv 文件读入以下类层次结构 我想最终得到一个列表MyClass
  • 是否可以统计 JSON 列中每个键出现的次数?

    我有一个 BigQuery 表 其中有一列 其中包含 JSON 我想输出每个键在列中出现的次数 然后按计数降序排序 与所有键关联的值是1 每个对象都有已知 有限数量的键 但我宁愿不依赖它 以防最大的对象发生变化 总体而言 键的数量是已知 有
  • MySql 5.7 ORDER BY 子句不在 GROUP BY 子句中并且包含非聚合列

    我试图在不禁用 my ini 中的 only full group by 的情况下弄清楚 这是我的查询 SELECT p title COUNT t qty AS total FROM payments t LEFT JOIN produc
  • 使用 TABLE_DATE_RANGE 时如何获取表名称

    我想使用 TABLE DATE RANGE 获取每日统计信息 如下所示 Select count tableName FROM TABLE DATE RANGE appengine logs appengine googleapis com
  • SQL:如何在按部分分组的查询中使用子查询?

    如何在按部分分组的查询中使用子查询 我使用 SQL Server 2008 R2 和 Delphi 2010 我收到此错误 Cannot perform an aggregate function on an expression cont
  • Python Pandas 滚动聚合一列列表

    我有一个简单的数据框 df 和一列列表lists 我想根据以下内容生成一个附加列lists The df好像 import pandas as pd lists 1 1 2 1 2 3 3 2 9 7 9 4 2 7 3 5 create

随机推荐

  • 如何在画布上绘制位图,同时尊重位图的 alpha 值?

    背景 我有一个主位图 我需要在其上绘制其他位图 主位图有一些半透明像素 具有 Alpha 通道变量值的像素 因此在其上绘制的其他位图应与其合并 而不是完全覆盖颜色 问题 我如何设置画布以在主位图上绘制相对于半透明像素的位图 注意 alpha
  • 调用表值函数时添加查询提示

    我正在从实体框架调用表值函数 并且需要能够添加option recompile 因为它选择的执行计划不是最佳的 在 SQL Server Management Studio 中运行查询 它看起来像这样 select from dbo fDE
  • Python、__init__ 和自我困惑

    好吧 当我发现这个时 我正在查看一些来源 gt gt gt def parse self filename parse ID3v1 0 tags from MP3 file self clear try fsock open filenam
  • 使用 GAS 将 google 电子表格转换为 XLSX 或 ODS

    我想将一些谷歌电子表格转换为Excel 首选xlsx 我已经阅读了几个有关如何实现此目标的线程 但我无法运行它 我读过的主题包括Google Apps 脚本 将电子表格保存为 ODS 以进行本地备份 and Google Apps 脚本通过
  • 使用 Jenkins 部署到 VPN

    我的总体目标是自动部署到 VPN 中的服务器 目前的 VPN 是 Cisco AnyConnect 和 Barracuda 但如果有更通用的解决方案就更好了 我考虑过使用 Jenkins 但我发现的唯一相关资源是这个插件https wiki
  • Stroustrup:对于 C++,如何安装 FLTK 库?

    问 有人可以指导我如何安装适用于 Microsoft Visual Studio 2015 的 FLTK 以便我可以将 FLTK 用于 C 吗 额外的信息 Bjarne Stroustrup 的 编程 使用 C 的原理与实践 中的第 12
  • 将运行时参数传递给 odeint 积分器

    我想使用 odeint boost 积分器来查看克尔时空中的测地线 这需要为各种参数值运行积分器 我有初始条件和初始动量向量 因此系统的角动量将根据我想要如何启动它而变化 我一直在关注这里列出的优秀示例 http headmyshoulde
  • 在 Maven 中,模块是否受存储库的 updatePolicy 影响?

    这就像我问的另一个问题一样 但不是依赖关系 而是关于模块 让我举一个场景 你有一个多module项目和部署该项目的持续集成服务器 这将部署到您本地的存储库settings xml has an updatePolicy of always
  • 如何更改函数内数据框列表中的列名称?

    我知道 如何更改数据帧列表中的名称 的答案已被多次回答 但是 我一直试图生成一个函数 该函数可以将任何列表作为参数并更改列表中所有数据帧的所有列名称 我正在处理大量 csv 文件 所有这些文件都具有相同的 3 列名称 我按如下方式分组导入文
  • Android 上的 Firebase 未调用 setValue onComplete

    我使用安全规则来确定在哪些条件下可以将值写入数据库 目前我已经设置了安全规则 这些规则工作正常 我用模拟器检查过 所以到目前为止没有问题 如果写入权限被拒绝 不满足安全规则 我想采取一些措施 为了做到这一点 我计划在 setValue 上使
  • 使用 Angular 2 Rxjs 计算每秒按键次数

    Created by darius on 02 04 16 import Component from angular2 core import Observable from rxjs Rx Component styles requir
  • 添加自定义标记到地图 - Android

    我目前有一个使用 MapView 向用户显示谷歌地图的应用程序 我一直在尝试使用此代码在地图上放置标记 public boolean onTouchEvent MotionEvent event MapView mapView if eve
  • Flink 可以将结果写入多个文件(如 Hadoop 的 MultipleOutputFormat)吗?

    我正在使用 Apache Flink 的 DataSet API 我想实现一项将多个结果写入不同文件的作业 我怎样才能做到这一点 您可以将任意数量的数据接收器添加到DataSet根据您的需要进行编程 例如在这样的程序中 ExecutionE
  • 从 R 中的字符向量中删除引号

    假设您有一个字符向量 char lt c one two three 当您引用索引值时 您会得到以下信息 gt char 1 1 one 如何从返回值中去掉引号以获得以下内容 1 one 试试 noquote a 无引号 a 1 a
  • 缓存预留策略:写入后删除还是更新缓存?

    我试图了解有关缓存预留策略的一些信息 如果找到则从缓存中读取数据 缓存命中 如果未找到 缓存未命中 则从数据库读取数据 在缓存中更新 在写入时 它被放入主数据库中 然后应该通过以下方式更新缓存 A 删除缓存中对应的条目 这样下次读取会遇到缓
  • 如何在PHP中提取锚标记之间的文本? [复制]

    这个问题在这里已经有答案了 我的变量中有一个字符串 标题为 message如下 message posted an event in a href http 52 1 47 143 group 186 TEST PRA a 我只想获取锚标记
  • PHP中如何检查数据格式

    我正在尝试检查日期格式 看看是否可以检查数据变量是否具有特定格式 例如 MM DD YYYY 如果没有 则退出 我不确定如何检查格式 如果有人可以帮助我 我将不胜感激 谢谢 date 05 25 2010 if XXXXX do somet
  • 是否可以在 fetchxml 中创建强制转换字段?

    是否可以在 fetchxml 中将字段从标识符转换为字符串 我有这样的疑问 select from table1 t1 left outer join table2 t2 on t1 stringId CAST t2 id as varch
  • 如何制作数组的精确副本?

    我如何制作数组的精确副本 我很难找到有关在 Swift 中复制数组的信息 我尝试使用 copy var originalArray 1 2 3 4 var duplicateArray originalArray copy Swift 中的
  • BigQuery 选择一个时间间隔内的数据

    我的数据看起来像 姓名 来自 前往城市 请求日期 安迪 巴黎 伦敦 2014年8月21日 12 00 莉娜 科隆 柏林 2014年8月22日 18 00 安迪 巴黎 伦敦 2014年8月22日 06 00 丽莎 罗马 尼尔佩尔 2014年8