BigQuery 选择 * 两列除外

2024-02-01

我想从公共 BigQuery github_repos 数据集中选择除以下两条记录之外的所有内容:author.nameAND差异.old_mode。根据我问的类似问题,我想我想运行类似于

#standardSQL
SELECT * REPLACE ((SELECT AS STRUCT author.* EXCEPT (name)) AS author), 
REPLACE ((SELECT AS STRUCT difference.* EXCEPT (old_mode)) AS difference)
FROM `bigquery-public-data.github_repos.commits`
LIMIT 1000;

如果我运行作者排除,效果很好:

#standardSQL
SELECT * REPLACE ((SELECT AS STRUCT author.* EXCEPT (name)) AS author)
FROM `bigquery-public-data.github_repos.commits`
LIMIT 1000;

然而,差分排除有一个错误:

#standardSQL
SELECT * REPLACE ((SELECT AS STRUCT difference.* EXCEPT (old_mode)) AS difference)
FROM `bigquery-public-data.github_repos.commits`
LIMIT 1000;

Error:

Dot-star is not supported for type ARRAY<STRUCT<old_mode INT64, new_mode INT64, old_path STRING, ...>> at [2:41]

谢谢。

Update不是重复的SQL服务器 https://stackoverflow.com/questions/729197/sql-exclude-a-column-using-select-except-columna-from-tablea问题。


作为一个独立的示例,请考虑以下查询:

WITH T AS (
  SELECT 10 AS a, ARRAY<STRUCT<x INT64, y STRING, z BOOL>>[
      (1, 'foo', true)] AS arr UNION ALL
  SELECT 11, ARRAY<STRUCT<x INT64, y STRING, z BOOL>>[
      (2, 'bar', false), (3, 'baz', true)]
)
SELECT * FROM T;

它返回一列a类型的INT64和一列arr类型的ARRAY<STRUCT<x INT64, y STRING, z BOOL>>。如果你想返回修改arr数组内的结构体省略的地方y,你可以使用以下组合SELECT * REPLACE and SELECT * EXCEPT:

WITH T AS (
  SELECT 10 AS a, ARRAY<STRUCT<x INT64, y STRING, z BOOL>>[
      (1, 'foo', true)] AS arr UNION ALL
  SELECT 11, ARRAY<STRUCT<x INT64, y STRING, z BOOL>>[
      (2, 'bar', false), (3, 'baz', true)]
)
SELECT * REPLACE(ARRAY(SELECT AS STRUCT * EXCEPT (y) FROM UNNEST(arr)) AS arr)
FROM T;

我们的想法是用新数组替换原始数组,我们使用ARRAY子查询与SELECT AS STRUCT and * EXCEPT使用字段不包含的结构元素重建数组y.

回到问题中的查询,您可以将相同的想法应用于difference and old_mode:

SELECT * REPLACE (
  ARRAY(SELECT AS STRUCT * EXCEPT (old_mode) FROM UNNEST(difference)) AS difference
)
FROM `bigquery-public-data.github_repos.commits`
LIMIT 1000;

查询结果包含一个difference其结构不包含的数组old_mode field.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BigQuery 选择 * 两列除外 的相关文章

随机推荐

  • 如何在 R 中模拟具有同配性或同质性的图?

    In R 我目前正在处理该包igraph 我想知道是否有任何方法可以模拟具有同质或同配结构的图 或者是否有其他方法R软件包允许这样做 谢谢 你有没有看过ergm https cran r project org web packages e
  • 如何检测Android应用程序是否被强制停止或卸载? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 假设应用程序运行良好 但用户强行停止
  • 在Refl中使用重写

    我正在使用 Idris 学习第 8 章类型驱动开发 我有一个关于 rewrite 如何与 Refl 交互的问题 此代码作为重写如何在表达式上工作的示例显示 myReverse Vect n elem gt Vect n elem myRev
  • Java中监听器的顺序

    我编写了自己的表格单元格编辑器 它扩展了AbstractCellEditor并实现了TableCellEditor an ItemListener and a MouseListener 有什么方法可以让我拥有mouseClicked方法先
  • 通过 Eclipse 使用 TestNG 和 Java 12 执行 Selenium 测试时启动层 java.lang.module.FindException 初始化期间发生错误

    引导层初始化期间发生错误 https i stack imgur com pNbsT png当我运行时 我不断收到此错误 我的测试 boot层初始化时出错 java lang module FindException 无法派生模块描述符 C
  • 查找两个语句之间的语义相似性

    我目前正在处理小型应用程序python我的应用程序具有搜索功能 当前使用difflib 但我想创建语义搜索它可以根据用户输入的文本从我的数据库中给出前 5 或 10 个结果 它与谷歌搜索引擎的工作原理相同 我找到了一些解决方案Here ht
  • if-let 语句不会解开可选内容

    我在我的代码中遇到了一些看起来很好奇的东西 并且想知道这种行为是否有一个简单的解释 鉴于以下声明 if let tabBarController topViewController as UITabBarController for sub
  • 如何推迟shared_ptr的删除操作?

    我创建了一个指针sample主要类 我正在将此指针传递给函数function1 该函数必须使用指针作为共享指针并使用该指针执行一些操作 退出期间function1 的析构函数sample由于调用shared ptr 当我将相同的指针传递给不
  • 实现自定义 LINQ-to-X 提供程序

    我有一个搜索工具 它接受复杂的搜索字符串 实际上是 JSON 中的 n 级对象图 并返回一些结果 我想通过类似 LINQ 的机制向其他 内部 开发人员公开该功能 假设每个结果都是由一个类定义的Result 我可以创建类似以下的方法 Func
  • Google+ 的共享意图无法访问图像

    我正在调用共享图像的意图 这适用于大多数提供商 但适用于 Google Google 打开不带图片的帖子活动 并显示 Toast 您只能发布存储在设备上的照片 同时 File f storeImage image f data data c
  • 在头文件与 .cpp 文件中编码 C++(主要)

    多年来 我一直以标准方式编写 C 代码 在头文件 hpp 中使用类声明 在源 cpp 文件中使用函数定义 最近 我搬到了一家新公司 其中的代码 似乎受到 boost 编码风格的影响 完全用 hpp 文件进行编码 并用一个短的 cpp 文件来
  • Visual Studio Extensions - 支持多个版本的VS

    我一直在编写一个扩展 编辑器分类器项目 带有一些其他功能 它在 VS2013 上运行良好 但我需要支持其他版本 VS2012 和 VS2015 当它超出预览时 当我刚刚添加支持的版本时vsixmanifest 我面临的问题是 出口ITest
  • js函数不调用自动填充函数

    我有一个输入字段 其中包含州名称并在其他字段上显示相应的区域 当我更改状态字段的值时 区域的值也应该更改 它不适用于我的代码 这有什么问题 div class col md 4 form group style padding right
  • MongoDb 使用位置运算符拉取

    我的文档结构如下 id 12342342 items ownerId 123 dates 2014 10 01 2014 10 02 ownerId 234 dates 2014 10 01 2014 10 02 我想从父对象的ownerI
  • 低延迟、大规模消息队列

    我正在重新思考 Facebook 应用程序和云计算时代的大型多人游戏 假设我要在现有开放协议之上构建一些东西 并且我想为 1 000 000 个同时玩家提供服务 只是为了解决问题 假设每个玩家都有一个传入消息队列 用于聊天等 平均还有一个传
  • 查找带有 USB 设备 VID/PID 的 /dev 条目

    我想制作一个程序来检测哪些 dev sd 条目链接到已知的 USB VID PID 对 你知道我如何获得 USB 记忆棒的 VID PID 吗 dev sd 您可以使用udevadm为了这 在输出中udevadm info q proper
  • 通过 UIBezierPath 移动 CALayer

    我有一个图层将从 UIBezierPath 上的 A 点移动到 B 点 我发现了很多涉及 CAAnimation 和 UIBezierPath 的示例 但我只需将图层从指定点移动到贝塞尔曲线路径上的另一个点 任何建议 将不胜感激 Thank
  • 裁剪图像时添加细白线 (Objective-C OSX)

    我正在剪切一张大图像并将其保存为许多不同的图像 我首先在iOS它工作正常 但是当我尝试将代码移植到OSX 一条细白线 1 像素 出现在图像的顶部和右侧 该线不是纯白色或实线 参见下面的示例 这里是iOS制作一个子图像的代码 就像冠军一样 v
  • 如何从 HIVE 中的日期减去月份

    我正在寻找一种方法来帮助我从 HIVE 中的日期中减去月份 我有个约会2015 02 01 现在我需要从这个日期减去 2 个月 这样结果应该是2014 12 01 你们能帮我一下吗 select add months 2015 02 01
  • BigQuery 选择 * 两列除外

    我想从公共 BigQuery github repos 数据集中选择除以下两条记录之外的所有内容 author nameAND差异 old mode 根据我问的类似问题 我想我想运行类似于 standardSQL SELECT REPLAC